. (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 ());}}