com.google.gson.JsonObject보다 작은 유창한 래퍼를 쓰고 있습니다. 내 JSON 직렬화 할 때따옴표없이 JsonObject를 직렬화하는 방법은 무엇입니까?
, 내가 얻을 :
{"key1":"value1","key2":"value2","key3":"{\"innerKey\":\"value3\"}"}
어떻게 중복 따옴표 제거합니까?
내 코드 :
public class JsonBuilder {
private final JsonObject json = new JsonObject();
private final Map<String, JsonBuilder> children = newHashMap();
public String toJson() {
for (Map.Entry<String, JsonBuilder> entry : children.entrySet()) {
String value = entry.getValue().toJson();
add(entry.getKey(), value);
}
children.clear();
return json.toString();
}
public JsonBuilder add(String key, String value) {
json.addProperty(key, value);
return this;
}
public JsonBuilder add(String key, JsonBuilder value) {
Preconditions.checkArgument(!children.containsKey(key));
children.put(key, value);
return this;
}
}
String json = new JsonBuilder()
.add("key1", "value1")
.add("key2", "value2")
.add("key3", new JsonBuilder()
.add("innerKey", "value3"))
.toJson();
json 구문은 사용하지 못하게하는 방법이 없다고 생각합니다. 그 (것)들을 제거하는 어떤 특정한 이유? – kosa