Java遍历json_java处理json数据java注释@

今天需要遍历一下json,但是只查到了遍历一层json的文章,满足不了多层级的json遍历。所以自己写一下,用fastJson处理。

所遍历json需要考虑一下多层级的json,需要考虑的就是 JSONObject 和 JSONArray 两种情况,对这两种情况做处理,采用递归向下遍历,用instanceof判断递归到的类型,做不同处理。下边贴上代码:

public class JsonLoop {

    public static String json = "{\"TITLE\":\"Json Title\",\"FORM\":{\"USERNAME\":\"Rick and Morty\"},\"ARRAY\":[{\"FIRST\":\"Rick\"},{\"LAST\":\"Morty\"}]}";

    public static void jsonLoopObject object) {

        ifobject instanceof JSONObject) {
            JSONObject jsonObject = JSONObject) object;
            for Map.Entry<String, Object> entry: jsonObject.entrySet)) {
                Object o = entry.getValue);
                ifo instanceof String) {
                    System.out.println"key:" + entry.getKey) + ",value:" + entry.getValue));
                } else {
                    jsonLoopo);
                }
            }
        }
        ifobject instanceof JSONArray) {
            JSONArray jsonArray = JSONArray) object;
            forint i = 0; i < jsonArray.size); i ++) {
                jsonLoopjsonArray.geti));
            }
        }
    }

    public static void mainString[] args) {

        JSONObject jsonObject = JSON.parseObjectjson);
        jsonLoopjsonObject);
    }
}

 遍历如下包含 JSONObject 和 JSONArray 的json数据

{

    “TITLE”:”Json Title”,
    “FORM”:{

        “USERNAME”:”Rick and Morty”
    },
    “ARRAY”:[
        {

            “FIRST”:”Rick”
        },
        {

            “LAST”:”Morty”
        }
    ]
}

 下边是输出结果:

key:FIRST,value:Rick
key:LAST,value:Morty
key:USERNAME,value:Rick and Morty
key:TITLE,value:Json Title

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注