2

我会解析 JSON

public JSONObject getJSONFromUrl() {

    try {

        DefaultHttpClient httpClient = getNewHttpClient();

        String auth = android.util.Base64.encodeToString(
                ("estafeta@62e12548-0a68-4999-960b-a3bb3c44675c:11111")
                        .getBytes("UTF-8"), android.util.Base64.NO_WRAP);

        HttpGet get = new HttpGet(
                "https://test2.estafeta.org/mobileestafeta/MobileSurveyReportsService.svc/LoadTabletSurveyTasks?startRowVersion=AAAAAAAAAAA=&count=500");

        get.addHeader("Authorization", "Basic " + auth);

        HttpResponse httpResponse = httpClient.execute(get);
        //httpResponse.getStatusLine().getStatusCode()
        HttpEntity httpEntity = httpResponse.getEntity();
        is = httpEntity.getContent();           

    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    try {

        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();
        json = sb.toString();
    } catch (Exception e) {
        Log.e("Buffer Error", "Error converting result " + e.toString());
    }


    try {
        jObj = new JSONObject(json);
    } catch (JSONException e) {
        Log.e("JSON Parser", "Error parsing data " + e.toString());
    }


    return jObj;

}

我从服务器下载了 Json 但不知道它的大小和结构

1)告诉我如何查看从服务器收到的 JSON 的大小和结构?

2) 如何查看 jObj 的内容?

3)会发生什么,为什么有这么多行?

在此处输入图像描述

4

1 回答 1

0

ADT 带有一个名为 DDMS 的漂亮工具。在 Eclipse IDE 的右上角,您可以找到perspectives. 选择 DDMS 视角。

接下来,您可以启用项目分析。单击您的项目并按绿色的错误(调试)按钮。然后,您可以使用 DDMS 选项卡转到Allocation.

在分配中,您可以找到每个指针,以及它所指的内容。因此,您可以找到您的jObj变量并查看它所指向的内容以及其中的每个对象。

通过这些教程了解如何使用 DDMS 。他们会改善你的生活。

于 2012-10-10T14:50:05.080 回答