java解析json中的所有属性并返回

来源:互联网 发布:淘宝用品 编辑:程序博客网 时间:2024/05/16 19:11

java解析json中的所有属性并返回

使用的jar包为:fastjson-1.1.36.jar
判断是json对象还是json数组,json数组的话,获取第一个对象的属性即可,采用了递归的方式,详情代码如下。

/** * 解析json中的所有属性 * @param json json值 * @param father 父亲属性,初始为""或者null * @param result 返回数组 */public void eachProperties(Object json, String father, ArrayList<String> result) {    String className = json.getClass().getSimpleName();    if (className.equals("JSONObject")) {        JSONObject jsonObj = (JSONObject) json;        Iterator<String> iter = jsonObj.keySet().iterator();        while (iter.hasNext()) {            String nextIndex = iter.next();            String prefix = father == null || father == "" ? nextIndex : father + "." + nextIndex;            Object sonJson = jsonObj.get(nextIndex);            eachProperties(sonJson, prefix, result);        }    } else if (className.equals("JSONArray")) {        JSONArray array = (JSONArray) json;        Object sonJson = array.get(0);        eachProperties(sonJson, father, result);    } else {        String prefix = father;        if (null != result) {            result.add(prefix);        }    }}
1 0
原创粉丝点击