Существует ли такой JSON-компоновщик строк? - PullRequest
5 голосов
/ 21 июня 2010

Я пытаюсь сделать что-то вроде следующего в 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 ]

3 голосов
/ 21 июня 2010

Вы проверили JSONLib ?Это не делает именно то, что вы ищете, хотя.Но это близко.

2 голосов
/ 21 июня 2010

Это то, что вы ищете? http://www.json.org/java/

1 голос
/ 06 мая 2014

Только что наткнулся на ваш вопрос, я считаю, что это более стандартный вариант: https://jsonp.java.net/download.html Пример использования: http://docs.oracle.com/javaee/7/api/javax/json/JsonObjectBuilder.html

1 голос
/ 21 июня 2010

Не просто, но я бы объединил JAXB, Jackson и BeanUtils.

Вот одна часть http://ondra.zizka.cz/stranky/programovani/java/jaxb-json-jackson-howto.texy

Вот другой ... http://commons.apache.org/beanutils/api/org/apache/commons/beanutils/expression/DefaultResolver.html

0 голосов
/ 17 февраля 2014

С некоторым опозданием, но моя библиотека 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();

Я использую несколько статических методов, которые можно статически импортировать.Методы построения полиморфны и используют переменные.JsonObject, JsonArray, JsonSet и JsonPrimitive ведут себя в разумных пределах и также поддерживают непатентованные средства.

0 голосов
/ 12 апреля 2012

У Elasticsearch очень хороший свободный JSON-компоновщик;К сожалению, насколько я могу судить, это не модуль, а часть основной части кодовой базы эластичного поиска, поэтому его сложно использовать без эластичного поиска.

См. Пример: http://www.elasticsearch.org/guide/reference/java-api/index_.html

0 голосов
/ 20 мая 2011

Я понимаю, что это старый вопрос, но я реализовал действительно простой JSON String Builder в C # как часть моего Fluent Flot проекта, который можно довольно легко перенести.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...