java - 解析JSON字符串的最简单方法

标签 java android json

如何将 JSON 字符串从一个键导航到另一个嵌套键并获取值?我有以下字符串

{ "data" : { "current_condition" : [ { "cloudcover" : "75",
            "humidity" : "29",
            "observation_time" : "07:59 PM",
            "precipMM" : "0.0",
            "pressure" : "1011",
            "temp_C" : "19",
            "temp_F" : "67",
            "visibility" : "16",
            "weatherCode" : "116",
            "weatherDesc" : [ { "value" : "Partly Cloudy" } ],
            "weatherIconUrl" : [ { "value" : "http://www.worldweatheronline.com/images/wsymbols01_png_64/wsymbol_0002_sunny_intervals.png" } ],
            "winddir16Point" : "N",
            "winddirDegree" : "350",
            "windspeedKmph" : "26",
            "windspeedMiles" : "16"
          } ],
      "request" : [ { "query" : "01801",
            "type" : "Zipcode"
          } ],
      "weather" : [ { "date" : "2011-05-09",
            "precipMM" : "0.0",
            "tempMaxC" : "19",
            "tempMaxF" : "65",
            "tempMinC" : "10",
            "tempMinF" : "50",
            "weatherCode" : "113",
            "weatherDesc" : [ { "value" : "Sunny" } ],
            "weatherIconUrl" : [ { "value" : "http://www/images/wsymbols01_png_64/wsymbol_0001_sunny.png" } ],
            "winddir16Point" : "NNW",
            "winddirDegree" : "348",
            "winddirection" : "NNW",
            "windspeedKmph" : "24",
            "windspeedMiles" : "15"
          },
          { "date" : "2011-05-10",
            "precipMM" : "0.1",
            "tempMaxC" : "13",
            "tempMaxF" : "56",
            "tempMinC" : "12",
            "tempMinF" : "53",
            "weatherCode" : "122",
            "weatherDesc" : [ { "value" : "Overcast" } ],
            "weatherIconUrl" : [ { "value" : "http://www/images/wsymbols01_png_64/wsymbol_0004_black_low_cloud.png" } ],
            "winddir16Point" : "NNE",
            "winddirDegree" : "12",
            "winddirection" : "NNE",
            "windspeedKmph" : "31",
            "windspeedMiles" : "19"
          }
        ]
    } }

所以我回答我自己的问题: 如果其他人想快速获得值(value):这就是我要找的东西。

JSONObject j = new JSONObject(strResponse);

String weatherDesc = jObject.getJSONObject("data").getJSONArray("weather").getJSONObject(0).getJSONAr­ray("weatherDesc").getJSONObject(0).getString("value");

最佳答案

几乎所有语言都有 JSON 库。如果您提出一个建议,我也许可以为您指出一些事情。

同时,这里有一些:

等等。我建议快速谷歌搜索您选择的语言。

关于java - 解析JSON字符串的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5942737/

相关文章:

android - 如何在Stetho中添加、删除和编辑数据?

android - 如何为 Android 创建数据网格?

ios - 使用 Swift 时 AlamoFire POST 请求给我一个错误

c# - newtonsoft json 模式反序列化 ValidationError

java - 在 spring boot 项目中使用 spring eclipse sts 逆向工程数据库表

java - 如何在 symmetryDS 社区版本中在运行时动态添加引擎

java - 在Java中发送电子邮件将 '>'字符放在单词 "From"前面

java - 如何将字符串值存储在字符串数组中以在单行中打印所有值

javascript - 我有一个 JavaScript 参数,它引用一个对象。如何将引用的对象更改为字符串,而不是更改我的局部变量?

java - 更改 docx、pdf 文档以便将其打印为书籍