JSON (Notation d'objet JavaScript) est un format d'échange de données léger qui utilise un format de texte entièrement indépendant du langage et est un format d'échange de données idéal. Pendant ce temps, JSON est un format natif JavaScript, ce qui signifie qu'aucune API ou boîte à outils spéciale n'est requise pour traiter les données JSON en JavaScript.
De nombreux outils de construction et d'analyse JSON sous Java sont publiés sur www.json.org. Parmi eux, Org.json et Json-lib sont relativement simples. Les deux sont similaires, mais il y a encore quelques différences. Ce qui suit est un premier exemple de la façon de construire et d'analyser les données JSON à l'aide de JSON-lib.
Pour une explication détaillée des méthodes de construction et d'analyse des données JSON à l'aide d'Org.son, veuillez vous référer à mon prochain article de blog: deux méthodes de construction et d'analyse des données JSON à l'aide de Java (explication détaillée 2)
1. Introduction
Le package JSON-LIB est un package qui convertit les haricots, les collections, les cartes, les tableaux Java et XML et JSON. Il est principalement utilisé pour analyser les données JSON. Il a des explications détaillées sur son site officiel http://www.json.org/. Si vous êtes intéressé, vous pouvez l'étudier.
2. Téléchargez le package de dépendance au pot: vous pouvez le télécharger ici
3. Introduction aux méthodes de base
1. Convertir la collection de la liste en méthode JSON
List list = new ArrayList (); list.add ("First"); list.add ("deuxième"); jsonArray JSONArray2 = jsonArray.FromObject (list);2. Convertir la collection de cartes en méthode JSON
Map map = new hashmap (); map.put ("name", "json"); map.put ("bool", boolean.true); map.put ("int", new Integer (1)); map.put ("arr", nouvelle chaîne [] {"a", "b"}); map.put ("func", "function (i) {return this.arr [i] JSON = JSONObject.FromObject (Map); 3. Convertir le bean en code JSON
JSONObject JSONObject = JSONObject.FromObject (new JSONBean ());
4. Convertir le tableau en code JSON
Boolean [] boolArray = new Boolean [] {true, false, true}; jsonArray JSONArray1 = JSONArray.fromObject (boolArray);5. Convertir les données générales en code JSON
JSONArray JSONArray3 = JSONArray.FromObject ("['JSON', 'IS', 'Easy']");6. Convertir les haricots en code JSON
List list = new ArrayList (); jsonBean2 jb1 = new JSONBean2 (); jb1.setCol (1); jb1.setrow (1); jb1.setValue ("xx"); jsonBean2 JB2 = new JSONBean2 (); jb2.setCol (2); jb2.setRow (2); jb2.setValue (""); list.add (jb1); list.add (jb2); jsonArray ja = jsonArray.fromObject (list); 4. Exemple de démonstration
Voici quelques méthodes courantes de base pour tester
Package 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; / *** utiliser json-lib pour construire et parer json data * * @Author alexia * @date 2013/5/23 ** / classe publique jSonTest {/ *** Construire des données JSON * * @ return * / public static string buildjson () {// json format de données d'analyse de données jsonObject jo = new jsonObject (); // les constructions suivantes, deux cartes, une liste et une carte d'objet employée. "Alexia"); map1.put ("Sex", "Female"); map1.put ("Age", "23"); map <String, String> map2 = new Hashmap <String, String> (); map2.put ("name", "edward"); map2.put ("sex", "male"); map2.put ("Âge", "24"); liste <map> list = new ArrayList <Map> (); list.add (map1); list.add (map2); employee employee = nouvel employé (); employee.setname ("wjl"); employee.setSex ("femme"); employee.Setage (24); // convertid map en jsonarray datajson listy = jsonArray.fromobject (map1); datajsonArray ja2 = jsonArray.fromObject (list); // convertir bean en données jsonarray jsonArray ja3 = jsonArray.fromObject (employee); System.out.println ("JSONArray Object Data Format: "); System.out.println (ja1.toString ()); System.out.println (ja2.ToString ()); System.out.println (ja3.tostring ()); // construire des données JSON, y compris une carte et un objet employé Jo.put (" Map ", Ja1); Jo.put (" employé ", JA2); System.out.println ("/ n Format de données JSON construit par Final:"); System.out.println (Jo.ToString ()); return Jo.ToString ();} / *** Parse JSON Data * * @param JSONSTRING JSON Data String * / public static Void Parsejson (String jSonstring) {// Prendre un employé comme un exemple de Parse, Maph JSONObject jb = jsonObject.FromObject (jSontring); jsonArray ja = jb.getjsonArray ("Employee"); List <Lesyee> Emplist = new ArrayList <Lesyee> (); // Loop ajoute un objet employé (il y a peut-être plusieurs) pour (int i = 0; i <ja.size (); i ++) {Employé employé = nouveau Employee (); employee.setName (ja.getjsonObject (i) .getString ("name")); employee.setSEx (ja.getjsonObject (i) .getString ("sex")); employee.Setage (ja.getjsonObject (i) .getInt ("age")); emplist.add (employee);} system.out. JSON Data to Employee Object: "); for (int i = 0; i <emplist.size (); i ++) {employee emp = emplist.get (i); System.out.println (" nom: "+ emp.getName () +" sexe: "+ emp.getSex () +" Âge: "+ emp.getage ());}} / *** @Param args * / public static ());}} / *** @Param arborat Main (String [] args) {// TODO Méthode générée automatiquement StubParsejson (buildJson ());}} Les résultats de l'opération sont les suivants
5. Comparez avec org.json
L'utilisation de Json-lib et org.json est presque la même. J'ai résumé deux différences:
1. Org.json est beaucoup plus léger que Json-lib. Le premier ne dépend de aucun autre paquet de bocal, tandis que le second dépend de Lang, de l'exploitation forestière, des beanutils, des collections et d'autres composants d'Ezmorph et de Commons.
2. JSON-LIB est beaucoup plus pratique que org.json lors de la construction de haricots et d'analyses de haricots. JSON-LIB peut se convertir directement avec les haricots, tandis que org.json ne peut pas se convertir directement avec les haricots et nécessite des cartes comme transit. Si vous convertissez les haricots en données JSON, vous devez d'abord convertir les haricots en cartes, puis convertir les cartes en JSON, ce qui est plus gênant.
En bref, la même phrase est toujours la meilleure chose pour vous. Tout le monde doit choisir la méthode à utiliser pour l'analyser au besoin. Enfin, je vais présenter deux outils pour analyser les données JSON: l'une est l'outil en ligne JSON EDIT (http://braincast.nl/samples/jsoneditor/); L'autre est le plugin Eclipse JSON Tree Analyzer, qui sont tous deux très utiles et sont recommandés à tout le monde!
Ce qui précède est deux méthodes qui vous sont présentées en utilisant Java pour construire et analyser les données JSON (explication détaillée un). J'espère que ce sera utile à tous!