JSON解析简单的错误?

时间:2017-02-19 02:50:14

标签: java android-studio

这是我的代码解析JSON数据

 String finalJson =  buffer.toString();
 JSONObject jobj = new JSONObject(finalJson);
 JSONArray jaraay = jobj.getJSONArray("weather");
 JSONObject finalobj = jaraay.getJSONObject(0);
 String temp = finalobj.getString("temp");

这是JSON数据

{
"coord":{
      "lon":-0.13,
      "lat":51.51
 },
"weather":[
{
      "id":300,
      "main":"Drizzle",
      "description":"light intensity drizzle",
      "icon":"09d"
}
],
"base":"stations",
"main":{
     "temp":280.32,
     "pressure":1012,
     "humidity":81,
     "temp_min":279.15,
     "temp_max":281.15
      },

我想访问base:stations:main中的临时值,但我非常确定如何使用我的代码获取临时值。有什么建议?非常感谢帮助。谢谢

2 个答案:

答案 0 :(得分:0)

您可以访问temp

String temp = jobj.getJSONObject(“main”)。getString(“temp”);

答案 1 :(得分:0)

首先,这不是一个有效的JSON。以下是有效的一个。

   {
    "coord": {
        "lon": -0.13,
        "lat": 51.51
    },
    "weather": [{
        "id": 300,
        "main": "Drizzle",
        "description": "light intensity drizzle",
        "icon": "09d"
    }],
    "base": "stations",
    "main": {
        "temp": 280.32,
        "pressure": 1012,
        "humidity": 81,
        "temp_min": 279.15,
        "temp_max": 281.15
    }
}

访问temp:

JSONObject mainObj = jObj.getJSONObject(" main");

字符串temp = mainObj.getString(" temp");