2017-08-01 21 views
-1

私はここでレスポンスJSONArrayをJSONArrayに変換する方法......?

{ 

"p1":{ 
"date":"Sat, 29 Jul 2017 03:31:43 GMT", 
"plan_id":"5c4c6548-38cb-4dbb-b7a3-a3f260fb8532", 
"plan_name":"Ultra50", 
"pulse":1, 
"tarrif":1, 
"validity":30 
}, 
"p2":{ 
"date":"Sat, 29 Jul 2017 03:31:43 GMT", 
"plan_id":"5c4c6548-38cb-4dbb-b7a3-a3f260fb8532", 
"plan_name":"Ultra50", 
"pulse":1, 
"tarrif":1, 
"validity":30 
} 
} 

私のコード1 JsonArrayにP1、P2、P3を変換する方法を

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

     @Override 
     public void onResponse(JSONObject response) { 
      try { 

       JSONObject plan=response.getJSONObject("p1"); 
       Iterator x=plan.keys(); 
       JSONArray jsonElements=new JSONArray(); 
       while (x.hasNext()){ 
        String key=(String) x.next(); 
        jsonElements.put(plan.get(key)); 
        Log.e(TAG, "onResponse: "+key); 

       } 
       Log.d(TAG, "onResponse: "+jsonElements.toString()); 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 

がありますか?

+1

質問が不明です。 –

+0

私はlistviewでこのJson Responseにしたいですか?それは可能ですか? @IntelliJAmiya –

+0

はい。どうしてですか? –

答えて

3

にまず

  • {[へと最後]に}変換の文字列を置換ITERATOR

    コレクションオブジェクト要素を1つずつトラバースするために使用されます。

    Iterator iteratorObj = response.keys(); 
         while (iteratorObj.hasNext()) 
         { 
          String getKEY = (String)iteratorObj.next(); 
          System.out.println("Key: " + Key + "------>" + getKEY); // p1,p2 
         } 
    
  • 1
    1. 変換対象の文字列
    2. にJSONArray
    3. あなたが使用する必要があります
    String res = response.toString().trim(); 
         res = res.replaceFirst("\{","]"); 
         res = res.substring(0,res.length()-1) + "]"; 
         try { 
            JSONArray arr = new JSONArray(res.toString()); 
         }catch (JSONException j) 
         { 
    
         } 
    
    +0

    私は知っていますが、私はAndroidのコードで解決策を与えてくれます。 –

    1
    Iterator planKeys = response.keys(); 
    { 
        JSONArray jsonElements=new JSONArray(); 
        while(planKeys.hasNext()){ 
         String key = (String) planKeys.next(); 
         JSONObject plan = response.getJSONObject(key); 
         Iterator x=plan.keys(); 
         while (x.hasNext()){ 
          String key=(String) x.next(); 
          jsonElements.put(plan.get(key)); 
          Log.e(TAG, "onResponse: "+key); 
    
         } 
        } 
    } 
    
    JSONObject plan=response.getJSONObject("p1"); 
    
    +0

    なぜ 'JSONArray'? –

    +1

    JSONArray – Rahul

    +0

    「p1、p2、p3オブジェクトの値をリストに表示したい」という質問に書いてあります。 –

    関連する問題