1

php の json_encode から json 応答を取得でき、Eclipse の logcat で応答を表示できました。

[{"idusers":"1","full_name":"Test Subject","get_email":"test_subject@gmail.com"},
{"idusers":"2","full_name":"Test Subject_2","get_email":"test_subject_2@gmail.com"}]

今、私はしようとしています

    //parse json data
    try {
        JSONArray jArray = new JSONArray(result);
        for(int i =0; i<jArray.length(); i++){
            JSONObject json_data = jArray.getJSONObject(i);
            Log.i("log_tag","id: "+json_data.getInt("idusers")+
                    ", Full Name: "+json_data.getString("full_name")+
                    ", Email: "+json_data.getString("get_email")
                    );
        }
    }catch(JSONException e){
        Log.e("log_tag","Error parsin data "+e.toString());
    }

ただし、次のエラーが表示されます

Error parsin data org.json.JSONException: Value testing of type java.lang.String cannot be converted to JSONArray

JSONArray の問題を修正する方法はありますか?

前もって感謝します!

4

3 に答える 3

1

JSON が無効です。2 番目の配列要素の「get_email」値に引用符 (") がありません。

次のようにする必要があります。

[
    {
        "idusers": "1",
        "full_name": "Test Subject",
        "get_email": "test_subject@gmail.com"
    },
    {
        "idusers": "2",
        "full_name": "Test Subject_2",
        "get_email": "test_subject_2@gmail.com"}]
于 2012-05-20T08:29:59.857 に答える
1

何が起こったのかわかりました。PHP ドキュメントに文字列があり、呼び出されていませんでした。エラーからの単語である「テスト」という単語がありました。この「テスト」が削除されると、機能しました。ありがとう

于 2012-05-22T02:02:58.683 に答える
0

JSON によって返される PHP 変数にキャストを追加してみてください。また、json_encode を使用していますか?

$user_id = (int) $id;
$email = (string) $email;
于 2012-05-20T08:25:18.953 に答える