-5

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

4

3 回答 3

2

使用 JSON 解析库,例如GSON

无需重新发明轮子。

于 2013-03-23T13:31:27.950 回答
1

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

值得研究并选择最适合您需求的产品。您的问题尚不清楚您尝试过什么或打算如何使用它,因此可能需要进行一些进一步的研究。

于 2013-03-23T13:30:56.620 回答
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));
    } 
}
于 2013-03-23T14:04:16.160 回答