如何从此JSON字符串中获取Java对象?我们没有JSON字符串中对象的名称
[
{
"eqid": "c0001xgp",
"magnitude": 8.8,
"lng": 142.369,
"src": "us",
"datetime": "2011-03-11 04:46:23",
"depth": 24.4,
"lat": 38.322
},
{
"eqid": "2007hear",
"magnitude": 8.4,
"lng": 101.3815,
"src": "us",
"datetime": "2007-09-12 09:10:26",
"depth": 30,
"lat": -4.5172
}
]
我找到了这样的代码来解析JSON。 JSONArray
earthquakes = json.getJSONArray("earthquakes");
for(int i=0;i < earthquakes.length();i++){
HashMap<String, String> map = new HashMap<String, String>();
JSONObject e = earthquakes.getJSONObject(i);
map.put("id", String.valueOf(i));
map.put("name", "Earthquake name:" + e.getString("eqid"));
map.put("magnitude", "Magnitude: " + e.getString("magnitude"));
mylist.add(map);
}
但是,以防我们有对象名称:像这样的“地震”
{"earthquakes":[
{
"eqid": "c0001xgp",
"magnitude": 8.8,
"lng": 142.369,
"src": "us",
"datetime": "2011-03-11 04:46:23",
"depth": 24.4,
"lat": 38.322
},
{
"eqid": "2007hear",
"magnitude": 8.4,
"lng": 101.3815,
"src": "us",
"datetime": "2007-09-12 09:10:26",
"depth": 30,
"lat": -4.5172
}
]}
如果我没有“地震”这个名字,我该怎么办?抱歉,我无法为自己添加新答案,所以我只想编辑问题。
答案 0 :(得分:1)
您可以使用像google-json这样的JSON解析器库,它允许您将此JSON解析为必须定义的强类型Java类。在这种情况下,您将定义一个具有eqid
,magnitude
等属性的Java类,然后解析器将返回此对象的数组。