java-json字符串转对象、数组对象字符串转对象(alibaba的fastjson)

导入pom依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.75</version>
        </dependency>

样例数据

{}代表可以转换成jsonobject
[]先要转换成数组,每一条再转成jsonobject

{
        "code": 0,
        "message": "",
        "result": {
            "items": [
                {
                "name": "zhagnsan",
                },
                {
                "name": "zhagnsan1",
                }
        ]
}

json字符串对象转json对象

com.alibaba.fastjson.JSONObject itemObject = JSON.parseObject("{xxx..}");

获取一个字段

itemObject.get("name")

另外一种方法

 //cc代表的是json字符串,如果要取上面的items
 JSONObject jsonob = JSON.parseObject(cc);
 JSONObject datastr = (JSONObject)jsonob.get("result");
 System.out.println(datastr.get("items"));

数组字符串转数组对象

先转数组

 JSONArray taskArray = JSON.parseArray("[{xxx..},{xxx..}]");

获取一条记录转换成jsonobject

com.alibaba.fastjson.JSONObject itemObject = JSON.parseObject(taskArray.get(1).toString());

也可以直接获取name
resultArray.getJSONObject(1).get("name")

获取一个字段

itemObject.get("name")

完整代码

    static String path = "D:\\OneboxBackup\\kedd\\keDD1\\src\\main\\resources\\txt\\cc.txt";

    private static String read() {
        String content = "";
        try {
            content = new String(Files.readAllBytes(Paths.get(path)));
            return content;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return content;
    }

    private static void getItemObject() {
        JSONObject obj = new JSONObject(read());

        JSONObject resultObj = (JSONObject) obj.get("result");

        JSONArray taskArray = JSON.parseArray(resultObj.get("items").toString());

        for (int i=0;i<taskArray.size();i++){

            if(i>10){return;}

            com.alibaba.fastjson.JSONObject itemObject = JSON.parseObject(taskArray.get(i).toString());
            System.out.println(itemObject.get("L1Assignee"));
        }
    }

    public static void main(String[] args) {
        getItemObject();
    }
输出:
zhangsan
zhangsan1
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐