이 프로젝트는 더 이상 관리되지 않습니다, opack를 사용해주세요.
이 프로젝트는 (주)리얼타임테크 솔루션 2팀에서 개발된 라이브러리입니다.
Kson은 Json 표준을 호환하는 새로운 데이터 포맷입니다, 기존 Json의 모호한 정수 타입 문제를 해결한 구현체로서 아래와 같은 데이터 형태를 지원합니다.
{
"longValueLower" : 100l,
"floatValueLower" : 100.2f,
"doubleValueLower" : 100.2d,
"longValueUpper" : 100L,
"floatValueUpper" : 100.2F,
"doubleValueUpper" : 100.2D,
"automaticInteger" : 20,
"automaticDecimal" : 10.1
{
"A": "B"
} : "Now, you can use object like key!",
["A", "B"] : "And, array!"
}
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.realtimetech-solution:kson:[버전]'
}
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.realtimetech-solution</groupId>
<artifactId>kson</artifactId>
<version>[버전]</version>
</dependency>
이 저장소의 릴리즈 페이지를 참고해주세요.
기본적으로 모든 Parse, Serialize, Deserialize는 KsonContext 객체를 통해서 사용 가능합니다.
KsonBuilder ksonBuilder = new KsonBuilder();
KsonContext ksonContext = ksonBuilder.build();
KsonContext ksonContext = new KsonContext();
KsonBuilder ksonBuilder = new KsonBuilder();
KsonPool ksonPool = new KsonPool(ksonBuilder);
KsonContext ksonContext = ksonPool.get();
Kson은 String, Object, JsonValue에 대한 Serialize, Deserialize를 지원합니다.
KsonContext ksonContext = new KsonContext();
String jsonString = "{...}";
JsonValue jsonValue = ksonContext.fromString(jsonString);
JsonValue jsonValue = ...;
String jsonString = JsonValue.toJsonString(); //일반적인 Json 포맷을 이용합니다.
String ksonString = JsonValue.toKsonString(); //확장된 Kson 포맷을 이용합니다.
KsonContext ksonContext = new KsonContext();
Person personObject = someObject;
JsonValue jsonValue = ksonContext.fromObject(personObject);
KsonContext ksonContext = new KsonContext();
JsonValue jsonValue = ...;
Person personObject = ksonContext.toObject(Person.class, jsonValue);
KsonContext ksonContext = new KsonContext();
String jsonString = "{...}";
Person personObject = ksonContext.toObject(Person.class, jsonString);
Kson은 Annotation을 통한 유용한 기능을 지원합니다.
public class Person {
private int id;
private String name;
@Ignore
private byte[] tempArray;
}
이제, 'tempArray' 필드는 Serialize 되지 않습니다.
public class Person {
@PrimaryKey
private int id;
private String name;
}
이제, 이 클래스의 인스턴스는 대신 'id' 필드로 Serialize 됩니다.
Kson는 Apache License 2.0 라이센스를 이용합니다, 여러분의 적극적인 이슈, 기능 피드백을 기대합니다.
JeongHwan, Park
+821032735003
[email protected]