2013-03-23 109 views
-4

解析JSONArray解析JSONArray

{ 
    "SyncUserGpsDataList" : 
    [ 
     { 
      "date_time": "2013-03-23 16:34:53PLUS0530", 
      "Battery": { 
       "Level": "51", 
       "State": "Not charging", 
       "Temperature": "3.78", 
       "Voltage": "30.6", 
       "Health": "Good" 
      }, 
      "Location": {}, 
      "GPS_bool": "true", 
      "WIFI_bool": "true", 
      "notes": "Trying to get location information" 
     } 
    ] 
} 

如何解析這個JSONArray?

回答

1

Json.org對理解JSON以及各種語言的庫列表有很好的解釋和教程。

這是值得一看,並選擇一個最適合您的需求。從你的問題來看,你已經嘗試了什麼或者你打算如何使用它,這是一個不清楚的問題,所以或許需要進一步的研究。

2

使用JSON解析庫,如GSON

無需重新發明輪子。

0

有一些庫,使它相當無痛。我最近使用json.jar,你可以從sourceforge下載它。在Java文檔是在json.org

張貼這裏是一個小的代碼,讓你開始:

public static void main(String[] args) throws Exception { 
    File json = new File("json.txt"); //stores your sample data. 
    Scanner in = new Scanner(json); 
    JSONObject obj = new JSONObject(in.nextLine()); 
    JSONArray list = obj.getJSONArray("SyncUserGpsDataList"); 
    System.out.print("Number of elements in this array: "); 
    System.out.println(list.length()); 
    JSONObject data = list.getJSONObject(0); 
    System.out.println("Need to parse:" + data.toString()); 
    System.out.println("\n Keys : Values"); 
    Iterator itr =data.keys(); 
    //List key-value pairs stored in the JSON object. 
    while(itr.hasNext()) { 
     String key = itr.next().toString(); 
     System.out.print(key + " : "); 
     System.out.println(data.get(key)); 
    } 
}