JSON (JavaScript Object Notation) es un formato de intercambio de datos ligero que utiliza un formato de texto completamente independiente del lenguaje y es un formato de intercambio de datos ideal. Mientras tanto, JSON es un formato nativo de JavaScript, lo que significa que no se requiere una API o kit de herramientas especial para procesar datos JSON en JavaScript.
Muchas herramientas de construcción y análisis de JSON bajo Java se publican en www.json.org. Entre ellos, Org.Json y JSON-LIB son relativamente simples. Los dos son similares en uso, pero todavía hay algunas diferencias. El siguiente es un primer ejemplo de cómo construir y analizar los datos JSON usando JSON-LIB.
Para una explicación detallada de los métodos de construcción y análisis de datos JSON utilizando org.son, consulte mi próxima publicación de blog: dos métodos para construir y analizar datos JSON utilizando Java (explicación detallada 2)
1. Introducción
El paquete JSON-LIB es un paquete que convierte frijoles, colecciones, mapas, matrices Java y XML y JSON. Se utiliza principalmente para analizar los datos JSON. Tiene explicaciones detalladas en su sitio web oficial http://www.json.org/. Si está interesado, puede estudiarlo.
2. Descargue el paquete de dependencia de jar: puede descargarlo aquí
3. Introducción a los métodos básicos
1. Convertir la colección de listas al método JSON
List list = new ArrayList (); list.add ("primero"); list.add ("segundo"); jsonArray jsonArray2 = jsonArray.FromObject (list);2. Convertir la colección de mapas al método JSON
Map map = new HashMap (); map.put ("name", "json"); map.put ("bool", boolean.true); map.put ("int", nuevo entero (1)); map.put ("arr", new String [] {"A", "b"}); map.put ("func", "function (i) {return th. json = jsonObject.FromObject (map); 3. Convertir el bean a código JSON
JsonObject jsonObject = jsonObject.FromObject (new JsonBean ());
4. Convertir la matriz a código JSON
boolean [] boolArray = new Boolean [] {True, False, True}; JSonArray JSonArray1 = JSonArray.FromObject (boolArray);5. Convertir datos generales en código JSON
JSONArray JSONArray3 = JSONArray.FromObject ("['json', 'is', 'fácil']");6. Convierta los frijoles al código JSON
List list = new ArrayList (); JSONBean2 JB1 = new JsonBean2 (); JB1.SetCol (1); JB1.Setrow (1); JB1.SetValue ("XX"); JSONBean2 JB2 = nuevo JsonBean2 (); jb2.setCol (2); jb2.setrow (2); jb2.setValue (""); list.add (jb1); list.add (jb2); jsonarray ja = jsonarray.fromobject (list); 4. Ejemplo de demostración
Aquí hay algunos métodos comunes básicos para probar
paquete com.json; import java.util.arrayList; import java.util.hashmap; import java.util.list; import java.util.map; import net.sf.json.jsonArray; import net.sf.json.jsonObject; 2013/5/23 **/public class JSontest {/*** Construye datos JSON** @return*/public static string buildjson () {// JSON Format Data Parsing Object JsonObject Jo = new JsonObject (); // El siguiente mapas de construcción, una lista y un objeto de empleado MAP <String MAP1 = New HaShmap <String, String, String> (); "Alexia"); map1.put ("sexo", "femenino"); map1.put ("edad", "23"); map <string, string> map2 = new Hashmap <String, string> (); map2.put ("name", "edward"); map2.put ("sexo", "masculino"); map2.put ("edad", "24"); lista <map> list = new = new = new "list = new" ArrayList <Map> (); list.add (map1); list.add (map2); empleado empleado = nuevo empleado (); empleado.setName ("wjl"); empleado.setsex ("femenino"); empleado.setage (24); // Convertir maple a jsonarray datajsonray ja1 = jsonarray.fromobject (map1); // Convertir la lista a jsonarray ja1 ja1 ja1 ja1 = jsonarray.fromobject (map1); // Convertir la lista a JSONArAY JA1 JA1 JSONArray.FromObject (List); // Convertir Bean a JSONArray Datos JSONArray JA3 = JSONArray.FromObject (Empleado); System.out.println ("Datos de objetos JSONArray formato: "); system.out.println (ja1.ToString ()); system.out.println (ja2.ToString ()); system.out.println (ja3.ToString ()); // Construct Json Data, incluyendo un mapa y un objeto de empleado Jo.put (" MAP ", Ja1); Jo.put (" empleado ", JA2); System.Println ("/"/" na1) (Ja1); Jo.put ("empleado", ja2); System.Println ("/" n. formato de datos JSON construido: "); System.out.println (Jo.ToString ()); return Jo.ToString ();}/*** PARSE JSON Data** @param JSonstring JSON Data String*/public static void parsejson (string jsonstring) {/Tomando el empleado como un ejemplo a gran JsonObject.FromObject (jsonstring); jsonArray ja = jb.getjsonArray ("empleado"); list <empleado> empList = new ArrayList <Empleado> (); // Loop agrega objeto Empleado (tal vez hay múltiples) para (int i = 0; i <ja.size (); i ++) {empleado empleado = nuevo Empleado (); empleado.setName (ja.getjsonObject (i) .getString ("name")); empleado.setSex (ja.getJsonObject (i) .getString ("sexo")); empleado.setage (ja.getjsonObject (i) .getInt ("edad")); oMPLIST.add (empleado);} System.out.println (""/nconter objeto: "); for (int i = 0; i <emplist.size (); i ++) {Employee Emp = Emplist.get (i); System.out.Println (" name: " + emp.getName () +" sexo: " + emp.getSex () +" edad: " + emp.getage ());}/*** @param @param*/público void void (strings) {// TODO Método Generado automático stubparsejson (buildjson ());}} Los resultados de la operación son los siguientes
5. Compare con org.json
El uso de JSON-LIB y org.json es casi el mismo. He resumido dos diferencias:
1. Org.json es mucho más ligero que JSON-LIB. El primero no confía en ningún otro paquete de JAR, mientras que los segundos depende de Lang, registro, beanutilos, colecciones y otros componentes de Ezmorph y Commons.
2. JSON-LIB es mucho más conveniente que org.json al construir frijoles y analizar los frijoles. JSON-LIB puede convertirse directamente con frijoles, mientras que org.json no puede convertirse directamente con frijoles y requiere mapas como tránsito. Si convierte los frijoles en datos JSON, primero debe convertir los frijoles en mapas y luego convertir los mapas en JSON, lo cual es más problemático.
En resumen, la misma oración sigue siendo lo mejor para ti. Todos deben elegir qué método usar para analizarlo según sea necesario. Finalmente, presentaré dos herramientas para analizar los datos de JSON: una es la herramienta en línea JSON Edit (http://braincast.nl/samples/jsoneditor/); ¡El otro es Eclipse Plugin Json Tree Analyzer, los cuales son muy útiles y se recomiendan que todos los usen!
Los anteriores son dos métodos que le presentan mediante el uso de Java para construir y analizar datos JSON (explicación detallada uno). ¡Espero que sea útil para todos!