fastjson對json字串JSONObject和JSONArray互相轉換操作示例
阿新 • • 發佈:2019-02-14
package com.tapt.instance; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; public class Jsontest { public static void main(String[] args) { String json="{\"name\":\"劉德華\",\"age\":35,\"some\":[{\"k1\":\"v1\",\"k2\":\"v2\"},{\"k3\":\"v3\",\"k4\":\"v4\"}]}"; JSONObject jso=JSON.parseObject(json);//json字串轉換成jsonobject物件 System.out.println("初始jsonObject:\n"+jso+"\n"); JSONArray jsarr=jso.getJSONArray("some");//jsonobject物件取得some對應的jsonarray陣列 System.out.println("jsonObject裡面的jsonarray:\n"+jsarr+"\n"); JSONObject ao=jsarr.getJSONObject(0);//jsonarray物件通過getjsonobjext(index)方法取得數組裡面的jsonobject物件System.out.println("jsonObject裡面的jsonarray裡面的第一個jsonobject:\n"+ao+"\n"); String vString=ao.getString("k1");//jsonobject物件通過key直接取得String的值 System.out.println("jsonObject裡面的jsonarray裡面的第一個jsonobject裡的鍵值對對k1取值:\n"+vString+"\n"); } }
控制檯輸出:
初始jsonObject:
{"age":35,"name":"劉德華","some":[{"k1":"v1","k2":"v2"},{"k3":"v3","k4":"v4"}]}
jsonObject裡面的jsonarray:
[{"k1":"v1","k2":"v2"},{"k3":"v3","k4":"v4"}]
jsonObject裡面的jsonarray裡面的第一個jsonobject:
{"k1":"v1","k2":"v2"}
jsonObject裡面的jsonarray裡面的第一個jsonobject裡的鍵值對對k1取值:
v1
ps:要遍歷jsonarray物件,可以通過size()方法取得jsonarray的長度,jsonarray.getJSONObject(index)取得裡面JSONObject物件;如:
for(int index=0;index<jsonarray.size(),index++){}