2010-06-21 9 views
5

Estoy buscando hacer algo como lo siguiente en Java y me preguntaba si esa biblioteca/ayudante JSON ya existía en algún lado.¿Existe un generador de cadenas JSON?

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

De tal manera que la cadena de salida anterior sería algo así como:

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

duplicados de http://stackoverflow.com/questions/338586/a-better-java-json- library –

+3

No estaría de acuerdo ... que SO sea una pregunta general sobre las bibliotecas JSON. Este es bastante específico (aunque lo hubiera expresado como 'builder.add (" one "," oneValue "); builder.add (" two.three "," threeValue ");' –

+0

Vaya, sí, tiene razón Jason: En mi prisa por escribir la publicación, cometí ese error. Gracias por la recolección. – digiarnie

Respuesta

3

¿Has visto JSONLib? Sin embargo, no hace exactamente lo que estás buscando. Pero está cerca.

+0

La función de mapa es probablemente la más cercana. Gracias ninja! – digiarnie

2

Es esto lo que está buscando? http://www.json.org/java/

+0

He echado un vistazo a t él da clases allí, pero no creo que vea una clase que acepte el tipo de notación que estoy buscando. Todos parecen querer construir objetos antes de String'ing.Lo ideal es que me gustaría una utilidad que incluya la notación que mencioné en mi publicación (ya tengo esta utilidad pero, por supuesto, sería bueno que hubiera una que ya haya sido probada y utilizada) – digiarnie

+0

Coordenada de Maven: 'org .json: json'. – Abdull

0

Me doy cuenta de que esta es una pregunta anterior, pero he implementado un muy simple JSON String Builder in C# como parte de mi proyecto Fluent Flot que podría ser fácilmente portado.

0

Un poco tarde con esto, pero mi biblioteca jsonj fue diseñado para este caso de uso.

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

utilizo varios métodos estáticos que se pueden importar de forma estática. Los métodos de construcción son polimorfos y usan varargs. JsonObject, JsonArray, JsonSet y JsonPrimitive se comportan de una manera sensata y admiten genéricos también.

Cuestiones relacionadas