JAVA编码(2)——JSON数据循环遍历解析(DEMO)

Author:xushuyi

import org.json.JSONArray; import org.json.JSONObject; public class TestJson {   public static void main(String[] args) {     String jsonStr = "{'respmsg':'成功','listSize':541,'fundlist':[{'buyCount':31,'fundinfo':{'fund_status':1,'inner_code':'102003138'},'fundChagRateList':[{'inner_code':102003138,'executedate':'2013-03-04'},{'inner_code':102003138,'executedate':'2013-03-04'}]}]}";     try {       JSONObject result = new JSONObject(jsonStr);       String respmsg = (String) result.get("respmsg");       JSONArray array = result.getJSONArray("fundlist");       for(int i = 0; i < array.length(); i++){         JSONObject json = (JSONObject) array.get(i);         getjsonResult(json);         System.out.println(json.get("fundinfo"));         System.out.println(json.get("fundChagRateList"));       }     } catch (Exception e) {       e.printStackTrace();     } } private static void getjsonResult(JSONObject json) {   try {     if (!json.get("fundinfo").equals("null")) {       JSONObject fundinfo = (JSONObject) json.get("fundinfo");       System.out.println(fundinfo.get("fund_status"));       System.out.println(fundinfo.get("inner_code"));     }     if (getFundConfigInfoLen(json,"fundChagRateList")>0) {       JSONArray array = json.getJSONArray("fundChagRateList");       for (int i = 0; i < array.length(); i++) {         JSONObject jsonstr = (JSONObject) array.get(i);         System.out.println(jsonstr.get("executedate"));         System.out.println(jsonstr.get("inner_code"));       }     }   } catch (Exception e) {     e.printStackTrace();   } } private static int getFundConfigInfoLen(JSONObject fundinfo, String fundConfigData){   JSONArray jsonArray = null;   try {     jsonArray = (JSONArray) fundinfo.getJSONArray(fundConfigData);   } catch (org.json.JSONException e) {     e.printStackTrace();   }   return jsonArray.length(); } }

  

posted @ 2015-04-05 18:49  xu_shuyi  阅读(701)  评论(0)    收藏  举报