Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.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,我正试图将这个字符串解析成java,但我不断地出错 {"id":1,"jsonrpc":"2.0","result":{"limits":{"end":3,"start":0,"total":3},"sources":[{"file":"/media/storage/media/re Music/","label":"re Music"},{"file":"/media/storage/media/ra Music/","label":"ra Music"},{"file":"addons://

我正试图将这个字符串解析成java,但我不断地出错

{"id":1,"jsonrpc":"2.0","result":{"limits":{"end":3,"start":0,"total":3},"sources":[{"file":"/media/storage/media/re Music/","label":"re Music"},{"file":"/media/storage/media/ra Music/","label":"ra Music"},{"file":"addons://sources/audio/","label":"Music Add-ons"}]}}
当我使用这个代码时

String temp = //json code returned from up above
JSONObject obj = new JSONObject(temp);
JSONArray array = obj.getJSONArray("sources");
我在说org.json.JSONObject值时出错。。。然后显示temp中的内容。有什么帮助吗?

看起来“源”数组位于“结果”对象中。因此,您需要获取该对象,然后从中获取数组,如下所示:

JSONObject obj = new JSONObject(temp);
JSONObject result = obj.getJSONObject("result");
JSONArray array = result.getJSONArray("sources");
名为“sources”的数组有好几层。您需要向下遍历到json中

代码格式化程序有助于这方面的工作


json应该具有顶级对象,从那里您需要获得子对象。有关更多详细信息,请参见此项。

好的,这更有意义,但如何进入这样的嵌套语句?这样地?JSONArray ar=obj.getaray(“结果”)@user987103什么是
getarray
?什么是
“结果”
?我不知道您正在使用的确切库的详细信息(您还没有实际告诉我们,尽管我可能可以从包名中找到它)。通常,您会执行obj.get(“结果”).getArray(“源”)。请查看您的javadoc以了解方法名称的确切细节,我只是在使用org.json。。有一个更容易使用的方法吗?有很多方法,但是有很多关于堆栈溢出的问题来处理利弊。哪一行给出了错误,第二行或第三行(在原始代码中)就是这样,一旦我将临时字符串放入JSONObject,它就会抛出一个错误。我知道我必须进入一个嵌套结果,但它只是抛出那个错误。每次我将结果字符串放入JSONObject时,它都会抛出相同的异常
{
   "id":1,
   "jsonrpc":"2.0",
   "result":{
      "limits":{
         "end":3,
         "start":0,
         "total":3
      },
      "sources":[
         {
            "file":"/media/storage/media/re Music/",
            "label":"re Music"
         },
         {
            "file":"/media/storage/media/ra Music/",
            "label":"ra Music"
         },
         {
            "file":"addons://sources/audio/",
            "label":"Music Add-ons"
         }
      ]
   }
}