Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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
Android 无法转换为JSONObject_Android_Json - Fatal编程技术网

Android 无法转换为JSONObject

Android 无法转换为JSONObject,android,json,Android,Json,我试图将链接解析为JSON,但始终无法将错误转换为JSONObject 我尝试了大量的示例,将字符串转换为JSONObject,但都没有成功。对于这么多的数据,我不确定Inputstream的大小是否更小 HttpClient client = new DefaultHttpClient(); // Perform a GET request to YouTube for a JSON list of all the // videos by a specific

我试图将链接解析为JSON,但始终无法将错误转换为JSONObject

我尝试了大量的示例,将字符串转换为JSONObject,但都没有成功。对于这么多的数据,我不确定Inputstream的大小是否更小

HttpClient client = new DefaultHttpClient();
        // Perform a GET request to YouTube for a JSON list of all the
        // videos by a specific user

        //URI uri_ = new URI("https://gdata.youtube.com/feeds/api/playlists/2B3B8DDAE8F71C46?v‌​=2&alt=json");
        HttpUriRequest request = new HttpGet("https://gdata.youtube.com/feeds/api/playlists/2B3B8DDAE8F71C46?v%E2%80%8C%E2%80%8B=2&alt=json");
        // Get the response that YouTube sends back
        HttpResponse response = client.execute(request);


        // Convert this response into a readable string
        String jsonString = StreamUtils.convertToString(response.getEntity().getContent());

        System.out.println("JSON:" + jsonString );


        // Create a JSON object that we can use from the String
        JSONObject json = new JSONObject(jsonString);
将inputstream转换为字符串的代码

BufferedReader reader = new BufferedReader(new InputStreamReader(
                    inputStream, "iso-8859-1"), 8);
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
            inputStream.close();
输出字符串:

{"version":"1.0","encoding":"UTF-8","feed":{"xmlns":"http://www.w3.org/2005/Atom","xmlns$media":"http://search.yahoo.com/mrss/","xmlns$openSearch":"http://a9.com/-/spec/opensearchrss/1.0/","xmlns$gd":"http://schemas.google.com/g/2005","xmlns$yt":"http://gdata.youtube.com/schemas/2007","id":{"$t":"http://gdata.youtube.com/feeds/api/playlists/2B3B8DDAE8F71C46"},"updated":{"$t":"2012-11-22T17:11:53.000Z"},"category":[{"scheme":"http://schemas.google.com/g/2005#kind","term":"http://gdata.youtube.com/schemas/2007#playlist"},{"scheme":"http://gdata.youtube.com/schemas/2007/tags.cat","term":"Bartle"},{"scheme":"http://gdata.youtube.com/schemas/2007/tags.cat","term":"Doo"},{"scheme":"http://gdata.youtube.com/schemas/2007/tags.cat","term":"Mumbles"}],"title":{"$t":"Mumbles","type":"text"},"subtitle":{"$t":"Bartle Doo!","type":"text"},"logo":{"$t":"http://www.youtube.com/img/pic_youtubelogo_123x63.gif"},"link":[{"rel":"alternate","type":"text/html","href":"https://www.youtube.com/playlist?list=PL2B3B8DDAE8F71C46"},{"rel":"http://schemas.google.com/g/2005#feed","type":"application/atom+xml","href":"https://gdata.youtube.com/feeds/api/playlists/2B3B8DDAE8F71C46"},{"rel":"http://schemas.google.com/g/2005#batch","type":"application/atom+xml","href":"https://gdata.youtube.com/feeds/api/playlists/2B3B8DDAE8F71C46/batch"},{"rel":"self","type":"application/atom+xml","href":"https://gdata.youtube.com/feeds/api/playlists/2B3B8DDAE8F71C46?alt=json&start-index=1&max-results=25"}],"author":[{"name":{"$t":"edbassmaster"},"uri":{"$t":"https://gdata.youtube.com/feeds/api/users/edbassmaster"}}],"generator":{"$t":"YouTube data API","version":"2.1","uri":"http://gdata.youtube.com"},"openSearch$totalResults":{"$t":25},"openSearch$startIndex":{"$t":1},"openSearch$itemsPerPage":{"$t":25},"media$group":{"media$content":[{"url":"http://www.youtube.com/p/PL2B3B8DDAE8F71C46","type":"application/x-shockwave-flash","yt$format":5}],"media$description":{"$t":"Bartle Doo!","type":"plain"},"media$thumbnail":[{"url":"http://i.ytimg.com/vi/6S7zwXGBiTE/default.jpg","height":90,"width":120,"yt$name":"default"},{"url":"http://i.ytimg.com/vi/6S7zwXGBiTE/mqdefault.jpg","height":180,"width":320,"yt$name":"mqdefault"},{"url":"http://i.ytimg.com/vi/6S7zwXGBiTE/hqdefault.jpg","height":360,"width":480,"yt$name":"hqdefault"}],"media$title":{"$t":"Mumbles","type":"plain"}},"yt$playlistId":{"$t":"PL2B3B8DDAE8F71C46"},"entry":[{"id":{"$t":"http://gdata.youtube.com/feeds/api/playlists/2B3B8DDAE8F71C46/PLaFx1lHMY9-c3iy7KngIxLbSSS_9OLXMd"},"published":{"$t":"2011-07-21T15:14:04.000Z"},"updated":{"$t":"1970-01-01T00:00:00.000Z"},"category":[{"scheme":"http://schemas.google.com/g/2005#kind","term":"http://gdata.youtube.com/schemas/2007#video"},{"scheme":"http://gdata.youtube.com/schemas/2007/categories.cat","term":"Comedy","label":"Comedy"}],"title":{"$t":"Mumbles at the Bassmaster Classic","type":"text"},"content":{"$t":"My official Face Book:\r\nhttp://www.facebook.com/pages/Ed-Bassmaster/259411429706\r\n\r\nMy T Shirts:\r\nhttp://www.districtlines.com/ed-bassmaster","type":"text"},"link":[{"rel":"alternate","type":"text/html","href":"https://www.youtube.com/watch?v=6S7zwXGBiTE&feature=youtube_gdata"},{"rel":"http://gdata.youtube.com/schemas/2007#video.responses","type":"application/atom+xml","href":"https://gdata.youtube.com/feeds/api/videos/6S7zwXGBiTE/responses"},{"rel":"http://gdata.youtube.com/schemas/2007#video.related","type":"application/atom+xml","href":"https://gdata.youtube.com/feeds/api/videos/6S7zwXGBiTE/related"},{"rel":"http://gdata.youtube.com/schemas/2007#mobile","type":"text/html","href":"https://m.youtube.com/details?v=6S7zwXGBiTE"},{"rel":"related","type":"application/atom+xml","href":"https://gdata.youtube.com/feeds/api/videos/6S7zwXGBiTE"},{"rel":"self","type":"application/atom+xml","href":"https://gdata.youtube.com/feeds/api/playlists/2B3B8DDAE8F71C46/PLaFx1lHMY9-c3iy7KngIxLbSSS_9OLXMd"}],"author":[{"name":{"$t":"edbassmaster"},"uri":{"$t":"https://gdata.youtube.com/feeds/api/users/edbassmaster"}}],"gd$comments":{"gd$fee
请帮我解决这个问题。 谢谢
Yuvi

在这个AnyTask类中,我下载并解析json

private List<HashMap<String, String>> mapList = new ArrayList<HashMap<String, String>>();

    private InputStream is;

     @Override
            protected List<HashMap<String, String>> doInBackground(String... urls) {

                try {
                    DefaultHttpClient httpClient = getNewHttpClient();
                    HttpGet get = new HttpGet((String) urls[0]);
                    HttpResponse httpResponse = httpClient.execute(get);
                    HttpEntity httpEntity = httpResponse.getEntity();

                    is = httpEntity.getContent();

                    BufferedReader reader = new BufferedReader(new InputStreamReader(
                            is, "iso-8859-1"));
                    StringBuilder sb = new StringBuilder();
                    String line = null;
                    while ((line = reader.readLine()) != null) {
                        sb.append(line + "\n");
                    }
                    is.close();
                    JSONArray jsonArray = new JSONArray(sb.toString());
                        for (int i = 0; i < jsonArray.length(); i++) {
                            JSONObject row = jsonArray.getJSONObject(i);
                            DowloadSpecificJson(row);


                        }
                } catch (Exception e) {
                    e.printStackTrace();
                }

                return mapList;
            }

    private void DowloadSpecificJson(JSONObject row) throws JSONException {

        HashMap<String, String> map = new HashMap<String, String>();
map.put("id", row.getString("id"));
            map.put("name", row.getString("name"));
            map.put("img", row.getString("img"));

mapList.add(map);
}
private List mapList=new ArrayList();
私有输入流是;
@凌驾
受保护列表doInBackground(字符串…URL){
试一试{
DefaultHttpClient httpClient=getNewHttpClient();
HttpGet=新的HttpGet((字符串)URL[0]);
HttpResponse HttpResponse=httpClient.execute(get);
HttpEntity HttpEntity=httpResponse.getEntity();
is=httpEntity.getContent();
BufferedReader reader=新的BufferedReader(新的InputStreamReader(
是“iso-8859-1”);
StringBuilder sb=新的StringBuilder();
字符串行=null;
而((line=reader.readLine())!=null){
sb.追加(第+行“\n”);
}
is.close();
JSONArray JSONArray=新的JSONArray(sb.toString());
for(int i=0;i
我在2.3上有同样的问题,但在4.0上没有问题。 我整个晚上都在寻找解决办法。这很简单-需要从字符串中删除从url接收的第一个符号

// Convert this response into a readable string
String jsonString = StreamUtils.convertToString(response.getEntity().getContent());
jsonString = jsonString.substring(1);

您需要发布您的相关代码和LogCat错误,以便我们能够帮助您…发布您的代码或其他内容:)可能是编码问题?您阅读的是“iso-8859-1”,而json数据将自己描述为:“编码”:“UTF-8”@micha nope,问题是我得到了一半的数据…您尝试过我提供的链接吗。。?我已经知道如何进行JSON解析。。。。
// Convert this response into a readable string
String jsonString = StreamUtils.convertToString(response.getEntity().getContent());
jsonString = jsonString.substring(1);