0

サーバーから渡される次の文字列があります。

{\"error\":\"email_in_diff_account\"}

これは、次のように PHP で作成されます。

$post_data = array('error' => "email_in_diff_account");

echo json_encode($post_data);

しかし、JAVAで次のように解析しようとすると:

JSONArray obj = new JSONArray(result);

次の例外が発生します。

org.json.JSONObject は JSONArray に変換できません

誰でもこれを修正する方法を知っていますか? PHPでJSONを正しく作成していませんか?

4

4 に答える 4

2

それらのバックスラッシュがある場合、それが問題になります。ただし、例外を投稿してください。

于 2013-02-02T05:59:13.790 に答える
2

http://www.json.org/javadoc/org/json/JSONArray.htmlを使用している場合

配列を解析しようとしていますが、それをオブジェクトに渡しています。 http://www.json.org/javadoc/org/json/JSONObject.htmlを使用する必要があります

JSONObject json = new JSONObject(result);
于 2013-02-02T06:04:36.417 に答える
1

まず第一に、このコードはこのようなjsonを作成できません

$post_data = array('error' => "email_in_diff_account");
echo json_encode($post_data);

{\"error\":\"email_in_diff_account\"}   // your output

{"error":"email_in_diff_account"}   // actual output

このリンクを使用して JSON を検証できますhttp://jsonlint.com/

コードの実際の例を参照してください http://codepad.org/oJXj0GdI

于 2013-02-02T05:59:35.647 に答える
1

正しい使い方は次のとおりです。 JSONObject json = new JSONObject(result);

于 2013-02-02T06:07:06.013 に答える