Javaは3例JSON配列を解析します

1  パッケージcom.example.demo.json;
 2   
。3   
。4  インポートjava.util.Map;
 5   
6。 インポートcom.alibaba.fastjson.JSON;
 7  インポートcom.alibaba.fastjson.JSONArray;
 8  インポートcom.alibaba.fastjson.JSONObject ;
 9。 インポートcom.alibaba.fastjson.TypeReference;
 10  インポートcom.example.demo.common.Person;
 11。  
12である  
13である パブリック クラスライブラリJSONlib {
 14      // JSONストリング-シンプル・オブジェクト・タイプ
15      プライベート 静的 最終ストリングJSON_OBJ_STR = "{\" studentName \ ":\"ユリ\ "\ "studentAge \":12}" 16      // JSON字符串-数组类型
17      プライベート 静的 最終列JSON_ARRAY_STR = "[{\" studentName \ ":\"ユリ\ "\ "studentAge \":12}、{\ "studentName \" \"ルーシー\ "\ "studentAge \":15}]" 18      // 复杂格式JSON字符串
19      プライベート 静的な 最終文字列COMPLEX_JSON_STR = "{\" teacherName \ ":\"クリ\」、\ "teacherAge \":27、\ "コース\":{\ "courseName \": \ "英語\" \ "コード\":1270}、\ "学生\":[{\ "studentName \" \」ユリ\ "\ "studentAge \":12}、{\ "studentName \":\ "ルーシー\"、\ "studentAge \":15}]}" 。
20      @SuppressWarnings( "未チェック" 21    パブリック 静的 ボイドメイン(文字列[]引数){
 22は        // demoJson();
 23である         
24          // ; testJSONStrToJSONObject()// オブジェクトにJSON文字列
 25          // testJSONStrToJSONArray(); // オブジェクトにJSON JSONアレイ
26は          testComplexJSONStrToJSONObject( ); // JSON JSONはネストされたオブジェクトをオブジェクト
27     }
 28      
29      / * 
30       * JSONObjectフォーマットストリングJSONとの間で変換する複雑
 31である      * / 
32      公共 静的 ボイド{testComplexJSONStrToJSONObject()
 33である         のSystem.out.println(COMPLEX_JSON_STR) ;
34は          JSONObject jsonObject = JSON.parseObject(COMPLEX_JSON_STR);
 35          // JSONObject jsonObject1 = JSONObject.parseObject(COMPLEX_JSON_STR); // これも可能であるのでJSONObjectは、JSONを継承しているため
36          のSystem.out.println(jsonObject);
 37 [          文字列teacherName jsonObject.getString =( "teacherName" );
 38である          整数teacherAge = jsonObject.getInteger( "teacherAge" ;)
 39          JSONObject = jsonObject.getJSONObjectコース( "コース" );
 40人の          JSONArray学生jsonObject.getJSONArray =( "学生。" );
 41のIS         System.out.println(teacherName + "------" + teacherAge + "===のJSON オブジェクト====" +コース+ "---- JSON配列----" + 学生。)
 42が          JSONArray JSONArray = JSON.parseArray(students.toString());
 43である         のSystem.out.println(JSONArray);
 44である     }
 45      
46である     / ** 
47       * JSONストリング- JSONArray間の配列型変換
 48       * / 
49      公共 静的 ボイドtestJSONStrToJSONArray (){
 50   
51である          JSONArray JSONArray = JSON.parseArray(JSON_ARRAY_STR);
 52である         // JSONArray jsonArray1 = JSONArray.parseArray(JSON_ARRAY_STR); //これも可能であるのでJSONArrayは、JSONとして継承
 53がある  
54である         // 。トラバーサル1つの
55          のintサイズ= jsonArray.size();
 56である         ためINT I = 0; I <サイズ; I ++ ){
 57は              JSONObject jsonObject = jsonArray.getJSONObject (I)
 58              のSystem.out.println(jsonObject.getString( "studentName")+ ":" + jsonObject.getInteger( "studentAge" ));
 59          }
 60   
61である         // トラバーサル2 
62である         ため(対象物OBJ:JSONArray ){
 63で              jSONObject jsonObject = (jSONObject)OBJ;
 64             System.out.println(jsonObject.getString( "studentName")+ ":" + jsonObject.getInteger( "studentAge" ));
 65          }
 66      }
 67      
68      / ** 
69       * JSON文字列- JSONObjectのシンプルオブジェクトタイプ間の変換
 70       * / 
71である     パブリック 静的 ボイド(testJSONStrToJSONObject){
 72   
73である          JSONObject jsonObject = JSON.parseObject(JSON_OBJ_STR);
 74          // JSONObject jsonObject1 = JSONObject.parseObject(JSON_OBJ_STR); // JSONObjectはJSONを継承するので、これがあるため可能
75   
76         System.out.println(jsonObject.getString( "studentName")+ ":" + jsonObject.getInteger( "studentAge" ));
77   
78      }
 79      公共 静的 ボイドdemoJson(){
 80          / ** 
81              *将JSON形式的字符串转换为マップ
 82              * / 
83             列str = "{\"名\ "\"トム\ "\"年齢\ ":90}" ;
84             JSONObject jsonObject = JSONObject.parseObject(STR)。
85             地図<文字列、文字列>のparams = JSONObject.parseObject(jsonObject.toString()、新しい TypeReference <地図<文字列、文字列>> (){});
            System.out.println(paramsは)。
87   
88             / ** 
89              *将JSON形式的字符串转换为JavaBeanの
 90              * / 
91               STR = "{\" ID \ ":\" A001 \ "\ "名\" \ "ジャック\"}" 92               jsonObject = JSONObject.parseObject(STR)。
93               のSystem.out.println(jsonObject)。
94               人の人物= JSON.parseObject(STR、新しい TypeReference <人> (){});
95               のSystem.out.println(person.toString())。
96      }
 97 }

 

パッケージcom.example.demo.json。輸入java.util.Map; 輸入com.alibaba.fastjson.JSON;輸入com.alibaba.fastjson.JSONArray;輸入com.alibaba.fastjson.JSONObject;輸入com.alibaba.fastjson.TypeReference;輸入com.example.demo.common.Person。パブリッククラスJsonLib {// JSON字符串 - 简单对象型プライベート静的最終列JSON_OBJ_STR = "{\" studentName \ ":\" ユリ\ "\ "studentAge \":12}"; // JSON字符串 - 数组类型プライベート静的最終列JSON_ARRAY_STR = "[{\" studentName \ ":\" ユリ\」、\ "studentAge \":12}、{\ "studentName \":\ "ルーシー\"、\ "studentAge \"。 15}] "; //复杂格式JSON字符串プライベート静的最終列COMPLEX_JSON_STR = "{\" teacherName \":\ "クリ\"、\ "teacherAge \":27、\ "コース\":{\ "courseName \":\"英語\"、\" 名前\ ":\" トム\ "\ "年齢\":90}"; JSONObject jsonObject = JSONObject.parseObject(STR)。地図<文字列、文字列>のparams = JSONObject.parseObject(jsonObject.toString()、新しいTypeReference <マップ<文字列、文字列>>(){}); System.out.println(paramsは)。/ ** *将JSON形式的字符串转换为のJavaBean * / STR = "{\" ID \ ":\" A001 \ "\ "名\" \ "ジャック\"}"。jsonObject = JSONObject.parseObject(STR)。System.out.println(jsonObject)。人物の人物= JSON.parseObject(STR、新しいTypeReference <人>(){}); System.out.println(person.toString());}} 名前\ ":\" トム\ "\ "年齢\":90}"; JSONObject jsonObject = JSONObject.parseObject(STR)。地図<文字列、文字列>のparams = JSONObject.parseObject(jsonObject.toString()、新しいTypeReference <マップ<文字列、文字列>>(){}); System.out.println(paramsは)。/ ** *将JSON形式的字符串转换为のJavaBean * / STR = "{\" ID \ ":\" A001 \ "\ "名\" \ "ジャック\"}"。jsonObject = JSONObject.parseObject(STR)。System.out.println(jsonObject)。人物の人物= JSON.parseObject(STR、新しいTypeReference <人>(){}); System.out.println(person.toString());}} System.out.println(paramsは)。/ ** *将JSON形式的字符串转换为のJavaBean * / STR = "{\" ID \ ":\" A001 \ "\ "名\" \ "ジャック\"}"。jsonObject = JSONObject.parseObject(STR)。System.out.println(jsonObject)。人物の人物= JSON.parseObject(STR、新しいTypeReference <人>(){}); System.out.println(person.toString());}} System.out.println(paramsは)。/ ** *将JSON形式的字符串转换为のJavaBean * / STR = "{\" ID \ ":\" A001 \ "\ "名\" \ "ジャック\"}"。jsonObject = JSONObject.parseObject(STR)。System.out.println(jsonObject)。人物の人物= JSON.parseObject(STR、新しいTypeReference <人>(){}); System.out.println(person.toString());}}

おすすめ

転載: www.cnblogs.com/coder-wf/p/12185073.html