2017-10-13 11 views
0

私はで提供されているAPIを使用しています。CryptoCompare私はこのJSONオブジェクトからシンボルの価格を取得する必要があります。このJSONオブジェクトを取得してAndroidのテキストビューにパースする方法

{ 
    "Response": "Success", 
    "Message": "Do not take life too seriously. You will never get out of it alive.", 
    "Data": [ 
    { 
     "Symbol": "USD", 
     "Price": 5660.94, 
     "Open24Hour": 5155.13, 
     "LastUpdateTS": 1507885905, 
     "Volume24Hours": 222438.875, 
     "Volume24HoursTo": 1214073220 
    }, 
    { 
     "Symbol": "EUR", 
     "Price": 4757.16, 
     "Open24Hour": 4318.19, 
     "LastUpdateTS": 1507885905, 
     "Volume24Hours": 26488.4023, 
     "Volume24HoursTo": 120264888 
    } 
    ], 
    "Type": 100 
} 
+1

これをチェックしてください! –

+1

私の友人、少なくとも何かを試してみることをお勧めします。これはあなたが簡単にグーグルグーグルを達成することができるタスクです。 [Gson](https://github.com/google/gson) –

答えて

2

私は、のでList

にデータを保存するためにあなたをお勧めしますが、データ

try { 

    JSONObject json = new JSONObject(response); 
    JSONArray jArray = json.getJSONArray("Data"); 
    for (int i = 0; i < jsonArray.length(); i++) { 
     JSONObject object = jsonArray.getJSONObject(i); 
     symbol.add(object.getString("Symbol")); 
     price.add(object.getString("Price")); 

    } 

} catch (JSONException e) { 
    e.printStackTrace(); 
} 
を保存することができ、その後、ここで2 List

List<String> symbol = new ArrayList<String>(); 
List<String> price = new ArrayList<String>(); 

を初期化します

これはあなたに役立つかもしれません

+0

ありがとうございます。それは私の最高の答えでした。 – emeUshiwu

+0

これはうまくいきましたし、この答えを受け入れてください。@emeUshiwuをクリックしてください。 – UltimateDevil

+0

どうすればよいですか? – emeUshiwu

1

どのようにするには?

  • あなたのコードで{}を満たしている場合、あなたはそれを解析するためにJSONObjectを使用することができます。

  • コードで[]を満たしている場合は、JSONArrayを使用して解析することができます。

  • コード内で[]を満たしている場合は、for loopを使用して値を取得できます。

  • コードにtry catchを使用する必要があります。

これを試してください。

try { 
     JSONObject jsonObject = new JSONObject(response); 
     String Response = jsonObject.optString("Response"); 
     JSONArray Data = jsonObject.optJSONArray("Data"); 
     for (int i = 0; i < Data.length(); i++) { 
      JSONObject jo = Data.optJSONObject(i); 
      String Symbol = jo.optString("Symbol"); 
      String Price = jo.optString("Price"); 
      String Open24Hour = jo.optString("Open24Hour"); 
      String LastUpdateTS = jo.optString("LastUpdateTS"); 
      String Volume24Hours = jo.optString("Volume24Hours"); 
      String Volume24HoursTo = jo.optString("Volume24HoursTo"); 
     } 
} catch (JSONException e) { 
     e.printStackTrace(); 
} 
+0

ありがとうございますそれは私を助けた – emeUshiwu

0

あなたが何をしようとしなかった

try { 

      JSONObject objresponse=new JSONObject("{\"Response\":\"Success\",\"Message\":\"Do not take life too seriously. You will never get out of it alive.\",\"Data\":[{\"Symbol\":\"USD\",\"Price\":5660.94,\"Open24Hour\":5155.13,\"LastUpdateTS\":1507885905,\"Volume24Hours\":222438.875,\"Volume24HoursTo\":1.21407322E+09},{\"Symbol\":\"EUR\",\"Price\":4757.16,\"Open24Hour\":4318.19,\"LastUpdateTS\":1507885905,\"Volume24Hours\":26488.4023,\"Volume24HoursTo\":120264888.0}],\"Type\":100}"); 
      JSONArray arrayData=objresponse.getJSONArray("Data"); 
      for (int i=0;i<arrayData.length();i++){ 
       JSONObject obj=arrayData.getJSONObject(i); 
       String symbol=obj.getString("Symbol"); 
       float price=(float)obj.getLong("Price"); 
      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
関連する問題