0

長い 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;
    }

}

>= 2000文字のJSON文字列を問題なく試しました....

JSONObjectのJSON文字列を切り捨てていますか? どうすればこれを修正できますか?

4

1 に答える 1

1

ここにjsonデータを提供できますか。jsonなしであなたの質問に答えるのは難しいです。

エラー自体がjson文字列の内容として空の配列を示していますcommented

あなたのJSON形式はそうではJSONArrayないと思いますJSONObject。これをチェックしてください。またはjsonファイルを共有します。

于 2012-09-15T13:44:32.003 に答える