在Android中解析URL中的JSON

在Android中解析URL中的JSON,android,json,parsing,url,Android,Json,Parsing,Url,我正在尝试在android中解析以下JSON- 目前,运行此代码时,我的应用程序崩溃: public String getJSON() throws IOException{ String url = "http://cj1m.1.ai/test.json"; HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(url); HttpResponse r

我正在尝试在android中解析以下JSON-

目前,运行此代码时,我的应用程序崩溃:

public String getJSON() throws IOException{
    String url = "http://cj1m.1.ai/test.json";

    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost(url);
    HttpResponse response = httpclient.execute(httppost);
    HttpEntity entity = response.getEntity();
    InputStream is = entity.getContent();

    BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"),8);
    String jsonText = reader.readLine();

    return jsonText;
}

我做错了什么,如何解决这个问题?

问题可能是因为JSON响应格式不正确。中的JSON响应似乎不正确。您可以在此URL中验证JSON响应-

编辑:

从您最近的日志中可以清楚地看到,您正试图在主线程中检索导致应用程序崩溃的JSON。您需要使用
AsyncTask
执行网络操作

你可以参考这个代码

private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
     protected Long doInBackground(URL... urls) {
         int count = urls.length;
         long totalSize = 0;
         for (int i = 0; i < count; i++) {
             totalSize += Downloader.downloadFile(urls[i]);
             publishProgress((int) ((i / (float) count) * 100));
             // Escape early if cancel() is called
             if (isCancelled()) break;
         }
         return totalSize;
     }

     protected void onProgressUpdate(Integer... progress) {
         setProgressPercent(progress[0]);
     }

     protected void onPostExecute(Long result) {
         showDialog("Downloaded " + result + " bytes");
     }
 }
私有类下载文件任务扩展异步任务{
受保护的长doInBackground(URL…URL){
int count=url.length;
长totalSize=0;
for(int i=0;i
更多细节


希望这有帮助。

返回给您的错误/异常是什么?将stackTrace添加到question@SudhirMishra我不太清楚我是如何得到这个消息的。请确保您在单独的线程中发出HTTP请求,而不是在UI线程上。@Cj1m每个IDE都有一个LogCat。日志中记录了什么错误。只复制错误日志并将其添加到此处。@KennyC这就是问题所在吗?不,JSON是Validah ok。你能发布整个stacktrace吗?对不起,我该怎么做,你是说在logcat中发布所有内容吗?是的,为应用发布logcat中的所有内容。好的,需要在pastebin上发布,因为它对于评论部分来说太多了: