2010-06-21 20 views
5

Chciałbym zrobić coś takiego w Javie i zastanawiałem się, czy taka biblioteka/pomocnik JSON już istniał gdzieś?Czy istnieje taki konstruktor ciągów JSON?

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

taka, że ​​ciąg wyjście powyżej byłoby coś jak:

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

Duplikat http://stackoverflow.com/questions/338586/a-better-java-json- biblioteka –

+3

Nie zgodziłbym się ... że pytanie SO jest ogólnym pytaniem o biblioteki JSON. Ten jest dość specyficzny (chociaż ja bym sformułowany jako 'builder.add (" one "," oneValue "); builder.add (" two.three "," threeValue ");' –

+0

oops, tak masz rację Jason W moim pośpiechu, aby napisać post, popełniłem ten błąd.Dzięki za odbiór – digiarnie

Odpowiedz

3

Czy sprawdziłeś numer JSONLib? Nie robi dokładnie tego, czego szukasz. Ale jest blisko.

+0

Funkcja mapy jest prawdopodobnie najbliższa. Dzięki ninja! – digiarnie

2

Czy tego szukasz? http://www.json.org/java/

+0

Spojrzałem na t on tam wykłada, ale nie sądzę, żebym zobaczył klasę, która akceptuje rodzaj notacji, o którą lecę. Wydaje się, że wszystkie chcą budować obiekty przed przeciągnięciem.Idealnie chciałbym, aby narzędzie, które przyjmuje notację, o której wspomniałem w moim poście (mam już to narzędzie, ale oczywiście byłoby miło, gdyby było takie, które było dobrze przetestowane i użyte już) – digiarnie

+0

Współrzędne Mavena: 'org .json: json'. – Abdull

0

Zdaję sobie sprawę, że jest to starsze pytanie, ale wdrożyłem naprawdę prosty JSON String Builder in C# jako część mojego projektu Fluent Flot, który może być dość łatwo przeniesiony.

0

Trochę późno z tego, ale moja biblioteka jsonj został zaprojektowany dla tego usecase.

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(); 

używam kilka statycznych metod, które można importować statycznie. Metody budowania są polimorficzne i używają varargs. JsonObject, JsonArray, JsonSet i JsonPrimitive zachowują się w rozsądny sposób i wspierają również leki generyczne.

Powiązane problemy