1. 程式人生 > >fastjson對json字串JSONObject和JSONArray互相轉換操作示例

fastjson對json字串JSONObject和JSONArray互相轉換操作示例

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++){}