삼가지 경우 자바 구문 분석 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 \ "\"crystall \ ", \"teacherAge \ "27 \"물론 \ ": {\"courseName \ " \ "영어 \", \ "코드 \": 1270}, \ "학생들 \": [{\ "studentName \"\ " 백합 \ "\"studentAge \ ": 12}, {\"studentName \ "\"루시 \ "\"studentAge \ ": 15}]}" ;
20      @SuppressWarnings ( "체크" )
 21    공공  정적  무효 메인 (문자열 []에 args) {
 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)가         에서 System.out.println (TEACHERNAME + "------"+ teacherAge + "=== JSON의 개체 ===="+ 코스 + "---- ---- JSON 배열"+ 학생.)
 (42)는          JSONArray JSONArray = JSON.parseArray (students.toString ());
 43이다          에서 System.out.println (JSONArray)
 44이다      }
 45      
46 인      / ** 
47       * JSON 값 String - 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 <크기 I ++ I = 0 ) {
 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形式的字符串转换为자바빈
 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 \"\ "crystall \", \ "teacherAge \"27 \ "물론 \": {\ "courseName \":\"영어\",\" 이름 \ "\"톰 \ ", \"나이 \ ": 90}"; 된 JSONObject 된 JSONObject = JSONObject.parseObject (STR); 지도 <문자열, 문자열> PARAMS = JSONObject.parseObject (jsonObject.toString (), 새로운 TypeReference <지도 <문자열, 문자열 >> () {}); 에서 System.out.println (PARAMS); / ** * 将 JSON 形式 的 字符串 转换 为 자바 빈즈 * / 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 形式 的 字符串 转换 为 자바 빈즈 * / 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 形式 的 字符串 转换 为 자바 빈즈 * / 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 形式 的 字符串 转换 为 자바 빈즈 * / 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