Java解析Json字串

自由的刺蝟發表於2016-06-17

      不多說廢話了,直奔主題,我將java類中解析json分為兩種情況:

       情況一:      

[{"name":"測試","index":"555","count":141}]
       如果你要解析的json是這樣的格式,java中做這樣的處理:     

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
    String json = "[{"name":"咖啡","remak":"進口咖啡","count":141}]";
    JSONArray job = JSONArray.fromObject(json);
    for(int i = 0;i < job.size(); i++){
         JSONObject jsonObject = job.getJSONObject(i);
         int count = (int) jsonObject.get("count");
    }

       情況二:

{"cityInfo":[{"cityId":"01","cityName":"南京"},{"cityId":"02","cityName":"無錫"}],"proName":"江蘇省"}
     如果json是這樣的格式,java中這樣處理:   
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

     String json = "{\"cityInfo\":[{\"cityId\":\"01\",\"cityName\":\"南京\"},{\"cityId\":\"02\",\"cityName\":\"無錫\"}],\"proName\":\"江蘇省\"}";
     JSONObject obj = new JSONObject(json.toString());
     JSONArray obj2 = obj.getJSONArray("cityInfo");
     for (int i = 0; i < obj2.length(); i++) {
         JSONObject temp = new JSONObject(obj2.getString(i));
         System.out.println(temp.getString("cityId"));
         System.out.println(temp.getString("cityName"));
     }
     System.out.println("所在省份:"+obj.getString("name"));
       // 2016-07-21   些許地方更正:如果在java類中直接寫一個 json(如上面例子中所示)的話,需要用轉義字元將"給轉義一下,具體如下(留一個沒改正的,作比較^_^~~):
    String json = "[{\"name\":\"咖啡\",\"remak\":\"進口咖啡\",\"count\":141}]";

 
沒有寫類,但是把導包的程式碼貼上出來了,只是提醒一下不要忘記導包 ^_^~~~

相關文章