string转JSONObject遍历多层找到key的value

来源:互联网 发布:微博域名 编辑:程序博客网 时间:2024/06/09 19:48

先上代码

package com.zhph;/** * @Description: * @Author:xuhaibo * @Date:${Date} * @Modified By: */import net.sf.json.JSONArray;import net.sf.json.JSONObject;import java.util.Iterator;/** * * @company * @author superboo * @version 3.0 * @date 2014-5-21 上午09:45:51 */public class JsonRaws {    public String getJsonStr1() {        String jsonStr = "{\"id\":\"1ui2kdic9\",\"j1\":{\"dd\":\"dd\",\"uu\":\"uu\"},\"j2\":{\"33\":\"33\",\"66\":\"66\",\"j22\":{\"00\":0}},\"name\":\"110\"}";        return jsonStr;    }    public String getJsonStr2() {        String jsonStr = "{\"id\":\"1ui2kdic9\",\"j1\":{\"dd\":\"dd\",\"uu\":\"uu\"},\"j2\":{\"33\":\"33\",\"66\":\"66\",\"j22\":{\"j0\":0},\"j23\":{\"00\":0}},\"name\":\"110\"}";        return jsonStr;    }    @SuppressWarnings("rawtypes")    public void  analysisJson(Object objJson){        //如果obj为json数组        if(objJson instanceof JSONArray){            JSONArray objArray = (JSONArray)objJson;            for (int i = 0; i < objArray.length(); i++) {                analysisJson(objArray.get(i));            }        }        //如果为json对象        else if(objJson instanceof JSONObject){            JSONObject jsonObject = (JSONObject)objJson;            Iterator it = jsonObject.keys();            while(it.hasNext()){                String key = it.next().toString();                Object object = jsonObject.get(key);                //如果得到的是数组                if(object instanceof JSONArray){                    JSONArray objArray = (JSONArray)object;                    analysisJson(objArray);                }                //如果key中是一个json对象                else if(object instanceof JSONObject){                    analysisJson((JSONObject)object);                }                //如果key中是其他                else{                    if (key.equals("33")) {                        System.out.println("[" + key + "]:" + object.toString() + " ");                    }                }            }        }    }    public static void main(String[] args) {        JsonRaws jw = new JsonRaws();        JSONObject jsonObject = JSONObject.fromObject(jw.getJsonStr1());        jw.analysisJson(jsonObject);    }}