相关疑难解决方法(0)

如何在没有太多引号的情况下序列化 JsonObject?

我正在 com.google.gson.JsonObject 上编写一个小型流畅的包装器。

当我序列化 Json 时,我得到:

{"key1":"value1","key2":"value2","key3":"{\"innerKey\":\"value3\"}"}
Run Code Online (Sandbox Code Playgroud)

如何去掉多余的引号?

我的代码:

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() …
Run Code Online (Sandbox Code Playgroud)

java json gson

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

gson ×1

java ×1

json ×1