2016-03-12 53 views
0

我试图在JSON文件中取“”键值“值。我尝试了很多解决方案,但我无法处理这个问题,它不断地给我“”类型为org.json.JSONObject的视频无法转换为JSONArray“错误。我该如何解决这个问题。谢谢。JAVA解析内部JSON

我的JSON数据;

{ videos: { 
     results:[ 
       { 
        id: "56c4ccbfc3a3680d52000610", 
        iso_639_1: "en", 
        iso_3166_1: "US", 
        key: "nIGtF3J5kn8", 
       } 
       ] 
      }   
} 

我的代码;

JSONArray Movie_List = Search_Results.getJSONArray("videos"); 
for (int i = 0; i < Movie_List.length(); i++) 
{ 
     JSONObject movie = (JSONObject) Movie_List.get(i); 
     JSONArray Movie_List1 = movie.getJSONArray("results"); 
     for (int j = 0; j < Movie_List1.length(); j++) 
     { 
      JSONObject movie2 = (JSONObject) Movie_List1.get(j); 
      key = movie2.getString("key"); 

     } 
} 

误差; enter image description here

+0

影片是一个对象不是一个数组。结果是一个数组。 – chRyNaN

回答

0

尝试一些这样的..你的错误来,因为你试图解析影片JSONArrayJSONObject ...

JSONObject videos = Search_Results.getJSONObject("videos"); 
    JSONArray result= videos.getJSONArray("results"); 
    for (int i = 0; i < result.length(); i++) 
    { 
      JSONObject movie = result.getJSONObject(i); 
      String movieId = movie.getString("id"); 
    //and other values .. same way 

    } 
+0

谢谢。它正在工作,我明白什么是proplem –