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