Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 解析JSON字符串的最简单方法_Java_Android_Json - Fatal编程技术网

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

Java 解析JSON字符串的最简单方法,java,android,json,Java,Android,Json,如何将JSON字符串从一个键导航到另一个嵌套键并获取值?我有以下字符串 { "data" : { "current_condition" : [ { "cloudcover" : "75", "humidity" : "29", "observation_time" : "07:59 PM", "precipMM" : "0.0", "pressure" : "1011", "

如何将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"
          }
        ]
    } }
所以我回答我自己的问题: 如果其他人想快速获得价值:这就是我一直在寻找的

JSONObject j = new JSONObject(strResponse);

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

几乎任何语言都有JSON库。如果你提出一个建议,我也许能给你指一些东西

同时,以下是一些:

  • --另见

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

一般来说,你会使用一个专门为你的语言构建的库,你想用什么语言读取数据?许多语言都有几个可用的库,有些语言可能内置了支持,比如JavaScript


如果您只需要理解数据,它是非常可读的…

您还没有指定您使用的语言。查看本页的一半,找出您正在使用的解决方案。鉴于OP的后历史记录,我将在C#上下赌注。或者你想用JavaScript来实现这一点?@BalusC:但是,他在.net中编写web服务,还有一个关于在android上使用web服务的问题…sooooo…Gazler,我已经点击了其中的两个链接,我希望在xpath导航中输入xyz/abc/并找到值。看来我要花点时间才能学会这一点。我想得到“数据:天气”:“日期”:“2011-05-09”:tempMaxC的值。其中日期是第一个节点。我无法解析此链接,它显示的模式与您的lnkthanks类似,很抱歉我没有提到它是Java和Android 1.5。我使用eclipse作为IDE。我查看了google的Gson和Json,但找不到任何样本来查找节点并获取值,就像我在C#dataset或Json中所做的那样xpath@webservicenewbie最后一个链接,Android链接,应该是您正在寻找的文档。实际上,Android的JSONObject很简单,OP没有查看文档吗?很好,David Caunt!谢谢戴夫·奥尔。