这样的JSON字符串构建器是否存在?

时间:2010-06-21 01:50:05

标签: java json

我希望在Java中执行类似下面的操作,并且想知道某个JSON库/帮助程序是否已存在于某处?

SomeJsonBuilder builder = new SomeJsonBuilder();
builder.add("one", "oneValue");
builder.add("two.three", "threeValue");
String output = builder.toString();

这样输出字符串就像是:

{"one":"oneValue", "two":{"three":"threeValue"}}

7 个答案:

答案 0 :(得分:3)

您检查了JSONLib吗?它并没有完全符合您的要求。但它很接近。

答案 1 :(得分:2)

这是你要找的吗? http://www.json.org/java/

答案 2 :(得分:1)

答案 3 :(得分:1)

刚刚遇到您的问题,我认为这是一个更标准的选项:https://jsonp.java.net/download.html 用法示例:http://docs.oracle.com/javaee/7/api/javax/json/JsonObjectBuilder.html

答案 4 :(得分:0)

我意识到这是一个较旧的问题,但我已经实现了一个非常简单的JSON String Builder in C#作为我的Fluent Flot项目的一部分,可以很容易移植。

答案 5 :(得分:0)

Elasticsearch有一个非常好的流畅的JSON构建器;不幸的是,据我所知,它不是一个模块,而是弹性搜索代码库的一部分,所以没有弹性搜索它就不容易使用。

参见示例:http://www.elasticsearch.org/guide/reference/java-api/index_.html

答案 6 :(得分:0)

有点晚了,但我的jsonj库是为这个用例而设计的。

https://github.com/jillesvangurp/jsonj

JsonObject o=object(
    field("aList",array(
        1,
        2,
        object(field("meaningoflife",42)),
        "no more builder"))
    ),
    field("another", "element"),
    field("aSet",set(1,2,3),
    field("nestedlists",array(
       array(1,2),
       array(3,4)
     ))
);

String json=o.toString();

我使用了几种可以静态导入的静态方法。构建器方法是多态的,并使用varargs。 JsonObject,JsonArray,JsonSet和JsonPrimitive也以理智的方式运行并支持泛型。