package jsonDemo;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import java.util.HashMap; public class JSONDemo { public static void main(String[] args) { //自定義JSON字符串 String json = "{\"name\":\"盧本偉\",\"age\":24,\"語錄\":[{\"騷話1\":\"可以,不跟你多bb\",\"騷話2\":\"表面兄弟\"},{\"騷話3\":\"盧本偉牛逼\",\"騷話4\":\"給阿姨倒一杯卡布奇諾\"}]}"; //JSON字符串轉換成JSONObject對象 JSONObject jo = JSON.parseObject(json); System.out.println("初始JSONObject:\n" + jo + "\n"); //JSONObject對象取得some對應的JSONArray數組 JSONArray jsarr = jo.getJSONArray("語錄"); System.out.println("JSONObject里面的JSONArray:\n" + jsarr + "\n"); //JSONArray對象通過getJSONObject(index)方法取得數組里面的JSONObject對象 JSONObject ao = jsarr.getJSONObject(0); System.out.println("JSONObject里面的JSONArray里面的第一個JSONObject:\n" + ao + "\n"); //JSONobject對象通過key直接取得String的值 String str = ao.getString("騷話1"); System.out.println("JSONObject里面的JSONArray里面的第一個JSONObject里的鍵值對對Key取值:\n" + str + "\n"); System.out.println("=====================JSON字符串轉換成map========================="); //Json字符串轉換成map HashMap<String, Object> map = JSON.parseObject(String.valueOf(jo), new TypeReference<HashMap<String, Object>>() {}); System.out.println(map.get("語錄")); System.out.println(map.get("name")); } }
輸出結果如下:
初始JSONObject:
{"name":"盧本偉","語錄":[{"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"},{"騷話4":"給阿姨倒一杯卡布奇諾","騷話3":"盧本偉牛逼"}],"age":24} JSONObject里面的JSONArray: [{"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"},{"騷話4":"給阿姨倒一杯卡布奇諾","騷話3":"盧本偉牛逼"}] JSONObject里面的JSONArray里面的第一個JSONObject: {"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"} JSONObject里面的JSONArray里面的第一個JSONObject里的鍵值對對Key取值: 可以,不跟你多bb =====================JSON字符串轉換成map========================= [{"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"},{"騷話4":"給阿姨倒一杯卡布奇諾","騷話3":"盧本偉牛逼"}] 盧本偉
要遍歷JSONArray對象,可以通過size( )方法取得JSONArray的長度,JSONArray.getJSONObject(index)取得里面JSONObject對象;如:
JSONArray jsarr = jo.getJSONArray("語錄"); for (int i = 0; i < jsarr.size();i++) { //... }
------------恢復內容開始------------
package jsonDemo;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import java.util.HashMap; public class JSONDemo { public static void main(String[] args) { //自定義JSON字符串 String json = "{\"name\":\"盧本偉\",\"age\":24,\"語錄\":[{\"騷話1\":\"可以,不跟你多bb\",\"騷話2\":\"表面兄弟\"},{\"騷話3\":\"盧本偉牛逼\",\"騷話4\":\"給阿姨倒一杯卡布奇諾\"}]}"; //JSON字符串轉換成JSONObject對象 JSONObject jo = JSON.parseObject(json); System.out.println("初始JSONObject:\n" + jo + "\n"); //JSONObject對象取得some對應的JSONArray數組 JSONArray jsarr = jo.getJSONArray("語錄"); System.out.println("JSONObject里面的JSONArray:\n" + jsarr + "\n"); //JSONArray對象通過getJSONObject(index)方法取得數組里面的JSONObject對象 JSONObject ao = jsarr.getJSONObject(0); System.out.println("JSONObject里面的JSONArray里面的第一個JSONObject:\n" + ao + "\n"); //JSONobject對象通過key直接取得String的值 String str = ao.getString("騷話1"); System.out.println("JSONObject里面的JSONArray里面的第一個JSONObject里的鍵值對對Key取值:\n" + str + "\n"); System.out.println("=====================JSON字符串轉換成map========================="); //Json字符串轉換成map HashMap<String, Object> map = JSON.parseObject(String.valueOf(jo), new TypeReference<HashMap<String, Object>>() {}); System.out.println(map.get("語錄")); System.out.println(map.get("name")); } }
輸出結果如下:
初始JSONObject:
{"name":"盧本偉","語錄":[{"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"},{"騷話4":"給阿姨倒一杯卡布奇諾","騷話3":"盧本偉牛逼"}],"age":24} JSONObject里面的JSONArray: [{"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"},{"騷話4":"給阿姨倒一杯卡布奇諾","騷話3":"盧本偉牛逼"}] JSONObject里面的JSONArray里面的第一個JSONObject: {"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"} JSONObject里面的JSONArray里面的第一個JSONObject里的鍵值對對Key取值: 可以,不跟你多bb =====================JSON字符串轉換成map========================= [{"騷話2":"表面兄弟","騷話1":"可以,不跟你多bb"},{"騷話4":"給阿姨倒一杯卡布奇諾","騷話3":"盧本偉牛逼"}] 盧本偉
要遍歷JSONArray對象,可以通過size( )方法取得JSONArray的長度,JSONArray.getJSONObject(index)取得里面JSONObject對象;如:
JSONArray jsarr = jo.getJSONArray("語錄"); for (int i = 0; i < jsarr.size();i++) { //... }
------------恢復內容結束------------