0

次のような API サービスからの応答文字列があります。

{"id":"login","status":"true"}

これは、応答文字列を解析してキー「ステータス」から値を取得する方法です

                    JSONObject jsonObj = null;
    try{
        jsonObj = new JSONObject(responseString);
    }
    catch(JSONException e){
        e.printStackTrace();


    }


        JSONArray innerJsonArray = null;
        try {
            innerJsonArray = jsonObj.getJSONArray("status");
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        JSONObject jsonObject = null;
        try {
            jsonObject = innerJsonArray.getJSONObject(0);
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            System.out.println(jsonObject.getString("status"));
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

そして、「org.json.JSONArrayをJSONObjectに変換できません」というエラーが発生しました

誰でも私に提案できますか?

4

3 に答える 3

0
JSONObject jsonObj = null;
try{
    jsonObj = new JSONObject(responseString);
    System.out.println(jsonObj.getString("status"));
}
catch(JSONException e){
    e.printStackTrace();
}

他の配列を気にする必要はありません。

于 2013-03-27T14:43:01.633 に答える
0

以下のスニペットコードをお試しください。このリンクを試して、JSON 応答の解析に関する知識を深めてください。

JSONObject jObj;
        try {
            jObj = new JSONObject(responseString);
            Log.i("id==", jObj.getString("id"));
            Log.i("status==", jObj.getString("status"));
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
于 2013-03-27T14:51:11.733 に答える
0

どの行で例外が発生しますか? いずれにしても、使用する必要があります

jsonObj =JSONObject.fromObject(responseString);

于 2013-03-27T14:40:23.010 に答える