Java使用fastjson對String、JSONObject、JSONArray相互轉換

fastjson對String、JSONObject、JSONArray相互轉換

fastjson是阿裡巴巴的開源JSON解析庫,它可以解析JSON格式的字符串,支持將Java Bean序列化為JSON字符串,也可以從JSON字符串反序列化到JavaBean

下面主要是本人在工作中經常用到的關於String、JSONObject、JSONArray的相互裝換

String——>>>JSONArray

String st = "[{name:Tim,age:25,sex:male},{name:Tom,age:28,sex:male},{name:Lily,age:15,sex:female}]";
JSONArray tableData = JSONArray.parseArray(st);

JSONArray——>>>JSONObject

JSONObject rowData = new JSONObject();
for(int i;i<tableData.length();i++){
    rowData = tableData.getJSONObject[i];
}

String——>>>JSONObject

String st = "{name:Tim,age:25,sex:male}";
JSONObject rowData = JSONObject.parseObject(st);

JSONObject——>>>JSONArray

JSONObject rowData = {info:
                            [
                                {
                                    name:Tim,
                                    age:25,
                                    sex:male
                                },{
                                    name:Tom,
                                    age:28,
                                    sex:male
                                },{
                                    name:Lily,
                                    age:15,
                                    sex:female
                                }
                            ]
                        };
JSONArry tableData = rowData.get("info");

com.alibaba.fastjson.JSONObject、JSONArray與String之間的轉換demo

話不多說,直接上代碼

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.Map;
/**
 * Created by LH on 2019/2/21 14:08
 */
public class JsonDemo {
    public static void main(String[] args) {
        //1.json字符串轉換為對象
        String jsonString="{'name':'42313123','id':'2345','age':12}";
        JSONObject jsonObject = JSONObject.parseObject(jsonString);
        String id = jsonObject.getString("id");
        System.out.println(id);
        //2. JSONObject轉化成自定義類對象
        PeoplePo peoplePo1 = JSONObject.parseObject(jsonString, PeoplePo.class);
        System.out.println(peoplePo1);
        //3. JSONObject轉化成Map集合
        Map map = JSONObject.parseObject(jsonString, Map.class);
        System.out.println(map);
        //4. 自定義對象轉化成json格式的字符串
        PeoplePo peoplePo = new PeoplePo();
        peoplePo.setId("1");
        peoplePo.setAge(11);
        peoplePo.setName("LH");
        String peopleJson = JSON.toJSONString(peoplePo);
        System.out.println(peopleJson);
        //5. String類型轉化成JSONObject;
        String str = "{\"result\":\"success\",\"message\":\"成功!\"}";
        JSONObject jsonObject1 = JSONObject.parseObject(str);
        System.out.println(jsonObject1);
        //6. JSONObject轉化成JSONArray的兩種方式
        String str1 = "{\"result\":\"success\",\"message\":\"成功!\",\"data\":[{\"name\":\"Tom\",\"age\":\"20\"}]}";
        JSONObject jsonToArray = JSONObject.parseObject(str1);
        //方式一
        JSONArray data = jsonToArray.getJSONArray("data");
        System.out.println(data);
        //方式二
        JSONArray jsonArray = JSONArray.parseArray(jsonToArray.getString("data"));
        System.out.println(jsonArray);
        //7. jsonArray轉化成JSONObject並取出其中的元素數據
        JSONObject o = (JSONObject) jsonArray.get(0);
        String name = o.getString("name");
        System.out.println(o);
        System.out.println(name);
        System.out.println(jsonArray.toString());
    }
}

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: