2016-11-02 11 views
1

"mid"にアクセスする必要がありますが、何とかソートする必要があるので、 "code"を取得して "mid"値を取得する必要があります。テーブルからのデータへのアクセス - JSON/Java

これを手伝ってもらえますか?それをどのように参照すればいいのかわかりません。

public void onSuccess(String response) { 

    Log.i("CHACHING", "HTTP Sucess"); 

    try { 
     JSONObject jsonObj = new JSONObject(response); 
     JSONObject ratesObject = jonObj.getJSONObject("rates"); 

     String gbpcode = ratesObject.getString("code"); 
     Double gbpRate = ratesObject.getDouble(gbpcode."mid"); 
     Log.i("CHACHING", "GBP: " + gbpRate); 
     // Log.i("CHACHING", "EUR: " + eurRate); 

     Double usds = Double.valueOf(usdValue.getText().toString()); 
     Double gbps = usds * gbpRate; 
     // Double euros = usds * eurRate; 
     gbpValue.setText("GBP: " + String.valueOf(gbps)); 

    } catch (JSONException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

とJSONがこの

http://api.nbp.pl/api/exchangerates/tables/A/?format=json

答えて

0

のように見える受信JSONは「JSONオブジェクトのリスト(JSON配列)と各JSONオブジェクトである:ここでは

は私が持っているものですレート "は別のjson配列です。

だから、

public void onSuccess(String response) { Log.i("CHACHING", "HTTP Sucess"); 

     try { 
    JSONArray jsonArr = new JSONArray(response); 
    JSONObject jsonObj=jsonArr.getJSONObject(0); 
    //this jsonObj holds the first jsonObject of your response 

    JSONArray rateList = jonObj.getJSONArray("rates"); 
    //rateList has the list of rates you obtained 

    //NOW, to get all mids for this rate list 

    for(int i=0;i<rateList.length();i++) { 
     JSONObject jO=rateList.getJSONObject(i); 
     Double mid=jO.getDouble("mid"); 
     Double gbpcode = jO.getString("code"); 
    /* 
    your code here 
    */ 
    } 
} catch (JSONException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
} 

私は本当にインデントして申し訳ありません。

私がどこか間違っている場合は、正しく入力してください。

+0

作品!感謝の仲間 –

+0

私は助けることができてうれしいです。 @PiotrSzczepanik –

関連する問題