这是一种正确的JSON格式{" coord":{" lat":37.4056," lon": - 122.0775}}

时间:2015-06-14 06:10:23

标签: java json

我知道正确的JSON格式如下:

{"coord":[{"lat":37.4056,"lon":-122.0775}]}

但是我有一个以这种格式出现的数据

{"coord":{"lat":37.4056,"lon":-122.0775}}

如果这是一个正确的JSON格式,如何在Java中解析它?

1 个答案:

答案 0 :(得分:1)

Json中,{}括号表示对象,而[]括号表示数组。

您的第一个示例包含一个包含一个包含latlon属性的对象的数组,该对象由data.coord[0].lat访问。
第二个示例是包含具有latlon属性的对象的对象 也就是说,没有数组,只是一个对象。该对象由data.coord.lat访问。

两者都是正确的json。

你几乎以同样的方式解析它们,它们只是不同的类型(coord下的对象或数组)。

// Parse:
JSONObject obj = new JSONObject(jsondatastring);
// Fetching the object:
JSONObject coord = obj.getJSONObject("coord");
// Or fetching the array:
JSONArray coords = obj.getJSONArray("coord");