2010-06-21 12 views
5

Ich möchte in Java so etwas wie das Folgende machen und habe mich gefragt, ob es irgendwo dort schon so eine JSON-Bibliothek/-Helfer gab?Gibt es einen solchen JSON-String-Builder?

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

Derart, dass die Ausgabezeichenfolge über so etwas wie sein würde:

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

Duplizieren von http://stackoverflow.com/questions/338586/a-better-java-json- Bibliothek –

+3

Ich würde nicht zustimmen ... dass SO Frage ist eine allgemeine Frage über JSON-Bibliotheken. Dieser ist ziemlich spezifisch (obwohl ich als 'builder.add (" one "," oneValue ") formuliert hätte; builder.add (" two.three "," threeValue ");' –

+0

oops, ja, du hast Recht Jason. In meiner Eile, den Beitrag zu schreiben, habe ich diesen Fehler gemacht. Danke für die Abholung. – digiarnie

Antwort

3

Haben Sie JSONLib überprüft? Es tut nicht genau das, wonach Sie suchen. Aber es ist nah.

+0

Die Kartenfunktion ist wahrscheinlich am nächsten. Danke Ninja! – digiarnie

2

Ist das, was Sie suchen? http://www.json.org/java/

+0

Ich habe mir t angeschaut Er lernt dort, aber ich glaube nicht, dass ich eine Klasse sehe, die die Art von Notation akzeptiert, nach der ich suche. Sie alle scheinen Objekte vor dem String'ing aufbauen zu wollen.Idealerweise hätte ich gerne ein Dienstprogramm, das die Notation, die ich in meinem Beitrag erwähnt habe, verwendet (ich habe bereits dieses Dienstprogramm, aber natürlich wäre es schön, wenn es einen Test gab, der bereits gut getestet und benutzt wurde) – digiarnie

+0

Maven coordinate: 'org .json: json'. – Abdull

0

Ich weiß, dies ist eine ältere Frage, aber ich habe eine sehr einfache JSON String Builder in C# als Teil meiner Fluent Flot Projekt, das sehr einfach portiert werden konnte implementiert.

0

Ein bisschen spät mit diesem aber meine jsonj Bibliothek wurde für diese usecase gestaltet.

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

ich mehrere statische Methoden verwenden, die Sie statisch importieren. Die Builder-Methoden sind polymorph und verwenden Varargs. JsonObject, JsonArray, JsonSet und JsonPrimitive verhalten sich in vernünftiger Weise und unterstützen auch Generika.

Verwandte Themen