解析JSONArray

问题描述:

解析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?

Json.org对理解JSON以及各种语言的库列表有很好的解释和教程。

这是值得一看,并选择一个最适合您的需求。从你的问题来看,你已经尝试了什么或者你打算如何使用它,这是一个不清楚的问题,所以或许需要进一步的研究。

使用JSON解析库,如GSON

无需重新发明*。

有一些库,使它相当无痛。我最近使用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)); 
    } 
}