android解析JSON字符串错误(截断?)

时间:2012-09-15 11:53:11

标签: android json

当我使用长JSON字符串(5018个字符)时 我遇到了以下异常:

09-15 19:41:40.821: W/System.err(1551): org.json.JSONException: Value [{/* my long json string...... */
09-15 19:41:40.831: W/System.err(1551):     at org.json.JSON.typeMismatch(JSON.java:111)
09-15 19:41:40.831: W/System.err(1551):     at org.json.JSONObject.<init>(JSONObject.java:158)
09-15 19:41:40.831: W/System.err(1551):     at org.json.JSONObject.<init>(JSONObject.java:171)

我注意到org.json.JSONException: Value [....]中显示的字符串长度只有4052个字符(可能是logcat的字符限制,我不确定)。

这是我的代码:

public DrupalNode getNode() {
    JSONObject drupalJSON;

    Log.d(TAG, "Length: "+drupalReturn.length());
    try {
        Log.d(TAG, "JSON data: "+this.drupalReturn);
        drupalJSON = new JSONObject(this.drupalReturn);
        DrupalNode drupalNode = new DrupalNode();
        drupalNode.title = drupalJSON.getString("title");
        return drupalNode;
    } catch (JSONException e) {
        Log.e(TAG, "JSON decode error");
        e.printStackTrace();
        return null;
    }

}

我已尝试使用&gt; = 2000个字符的JSON字符串,没有问题....

JSONObject是否截断了我的JSON字符串?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你能在这里提供你的json数据吗?用json回答你的问题很难。

错误本身显示空数组,因为您的json字符串内容为commented

我猜你的JSON格式是JSONArray而不是JSONObject。请检查一下。或分享您的json文件。