java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > fastjson String,JSONObject,JSONArray相互转换

Java使用fastjson对String、JSONObject、JSONArray相互转换

作者:SenKnight

这篇文章主要介绍了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());
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文