2017-07-05 18 views
-1

これはそれを呼び出すには、「応答」のこの値を取得する2次元配列PHPから配列を取得するにはJSONArrayで2次元配列を取得するにはどうすればよいですか?

Response.Listener<String> responseListener = new Response.Listener<String>() { 

     @Override 
     public void onResponse(String response) { 
      try { 
       JSONObject jsonResponse = new JSONObject(response); 

       //what to do here 

      } catch (JSONException e) { 
       e.printStackTrace(); 
       AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); 
       builder.setMessage("Error") 
         .setNegativeButton("Retry", null) 
         .create() 
         .show(); 

      } 
     } 
    }; 

を取得するための私の活動である:したい(私は、このいずれかを編集した) 使用JSONArrayは、このコードで

{ 
    "0":[], 
    "success":[true], 
    "question":{ 
     "1":"question3", 
     "2":"question1", 
     "3":"question4" 
    }, 
    "optiona":{ 
     "1":"optiona", 
     "2":"optiona", 
     "3":"optiona" 
    }, 
    "optionb":{ 
     "1":"optionb", 
     "2":"optionb", 
     "3":"optionb" 
    }, 
    "optionc":{ 
     "1":"optionc", 
     "2":"optionc", 
     "3":"optionc" 
    }, 
    "optiond":{ 
     "1":"optiond", 
     "2":"optiond", 
     "3":"optiond" 
    }, 
    "correct":{ 
     "1":"optiona", 
     "2":"optionb", 
     "3":"optiona" 
    } 
} 

Arrayquestion = [ "question1"、 "question2"、 "question3"]

- (アンドロイドで)のような配列を作ります

Arrayoptiona = [ "optiona"、 "optiona"、 "optiona"]

Arrayoptionb = [ "optionb"、 "optionb"、 "optionb"]

Arrayoptionc = [ "optionc"、 "optionc" 、 "optionc"]

Arrayoptiond = [ "optiond"、 "optiond"、 "optiond"]

Arraycorrect = [ "optiona"、 "optionb"、 "optiona"]

成功= [ true]

+0

jsonイメージを削除してコードブロックに置き換えることはできますか? – petey

+0

が完了しました応答を今すぐ参照してください –

答えて

1
JSONObject jsonResponse = new JSONObject(string); 
String[] question = readJsonObject(jsonResponse.getJSONObject("question")); 
String[] optiona = readJsonObject(jsonResponse.getJSONObject("optiona")); 
String[] optionb = readJsonObject(jsonResponse.getJSONObject("optionb")); 
String[] optionc = readJsonObject(jsonResponse.getJSONObject("optionc")); 
String[] optiond = readJsonObject(jsonResponse.getJSONObject("optiond")); 
String[] correct = readJsonObject(jsonResponse.getJSONObject("correct")); 
boolean success = jsonResponse.getBoolean("success"); 

およびヘルパーメソッド:

private String[] readJsonObject(JSONObject jsonObject) throws JSONException { 
     String[] result = new String[3]; 
     result[0] = jsonObject.getString(Integer.toString(1)); 
     result[1] = jsonObject.getString(Integer.toString(2)); 
     result[2] = jsonObject.getString(Integer.toString(3)); 
     return result; 
} 

それがお役に立てば幸いです。

+0

まだエラーが発生しています(質問を再確認してください –

+0

@SumitYadavどの行にエラーがありますか?スタックトレースを送信できますか? – Tim

+0

org.json.JSONException:値{"1": "question3 "、" 2 ":" question1 "、" 3 ":" question5 "} org.json.JSONObject型の質問でJSONArrayに変換することはできません//チェックのために1つのコードのみを使用してcatch(JSONException e)を実行します –

関連する問題