La première méthode consiste à utiliser JSON-lib.
La deuxième méthode consiste à utiliser Jackson.
Les deux premières méthodes sont relativement faciles pour les objets PoJO relativement simples. Cependant, par rapport aux données multicouches imbriquées, la complexité est directement augmentée.
La troisième méthode est résolue en utilisant GSON de Google. Quiconque a écrit Android sait que cette chose est produite par Google. Il est naturel et rafraîchissant à utiliser, et la méthode de valeur est très flexible. Toutes les valeurs JSON complexes sont essentiellement effectuées.
Il y a deux concepts dans GSON. L'un est JsonObject et JSONArray. Dépendent spécifiquement du code
La copie de code est la suivante:
Package com.mycompany.gsondata;
import com.google.gson.jsonArray;
import com.google.gson.jsonObject;
import com.google.gson.jsonParser;
/ **
* Bonjour le monde!
*
* /
Application de classe publique {
public static void main (String [] args) {
String JSondata = "{/" Quesketaireid / ": / "QNTEST /", / "Responderresults /": [{/ "QuesketId /": / "Qstest01 /", / "ANSERCONTENT /": / "CFB7F441-9086-11E3-8CF8-000C2945C442 /"}, {/ " questionId / ": /" Qstest01 / ", / "ANSERCONTENT /": / "CFB7F441-9086-11E3-8CF8-000C2945C442 /"}, {/ "QuesketId /": / "Qstest03 /", / "ANSERCTONT , A0863 31D-9087-11E3-8CF8-000C2945C442 / "}, {/" QuesketId / ": /" Qstest01 / ", /" ANSERCTENT / ": /" CFB7F441-9086-11E3-8CF8-000C2945C442 / "}, {/" questionId / ": /" Qstest0 5 / ", /" ANSERCONTENT / ": /" Test Test Text Fill In-the-Blanks / "}, {/" QuesterId / ": /" Qstest06 / ", /" ANSERCONTENT / ": /" 3 / " }, {/ "QuesketId /":/"qstest07/" ,/"SanserContent/":/"2.2/"}]} ";
JsonObject root = new JSonParser (). Parse (jSondata) .getAsJsonObject ();
System.out.println (root.get ("questionnaire"). ToString ()); // La valeur du nœud racine est prise directement
JSONArray AnswerList = root.getasjsonArray ("réponderResults"); // Obtenez le tableau
for (int i = 0; i <réponseList.size (); i ++) {
System.out.println (ResponseList.get (i) .getasjsonObject (). Get ("QuesketId"). ToString ());
System.out.println (ResponseList.get (i) .getAsJSonObject (). Get ("ANSerContent"). ToString ());
}
}
}