2015-04-27 8 views
-10

В моем проекте я получаю следующий JSON из ответа HTTP.Разбор вложенных JSONObject в Android

{"base":"USD","date":"2015-04-24","rates":{"AUD":1.2827,"BGN":1.8069,"BRL":2.9733,"CAD":1.2119,"CHF":0.9551,"CNY":6.1948,"CZK":25.364,"DKK":6.8927,"GBP":0.6614,"HKD":7.75,"HRK":7.0284,"HUF":278.53,"IDR":12954.0,"ILS":3.9244,"INR":63.563,"JPY":119.51,"KRW":1078.25,"MXN":15.358,"MYR":3.5741,"NOK":7.8298,"NZD":1.3216,"PHP":44.281,"PLN":3.7076,"RON":4.08,"RUB":51.215,"SEK":8.6674,"SGD":1.3375,"THB":32.55,"TRY":2.7314,"ZAR":12.182,"EUR":0.9239}} 

Я хочу получить «BGN» из вышеуказанного json. Как его получить.

+0

Попробуйте это: Http: //stackoverflow.c ом/вопросы/9605913/как к разбору-JSON-в-андроид – linus

ответ

0

Есть несколько шагов, участвующих в этом

Первое: Создание JSONObject

JSONObject jObject = new JSONObject(yourJSON_String); 

Второй: Получить нужный объект или массив, в вашем случае

obj = getJSONObject("rates") 

Третье: Получить необходимую Строка

obj.getString("BGN"); 

Вот JSON CLASS REFERENCE

0
JSONObject responseJson = new JSONObject("<your-string">); 
JSONObject ratesJson = responseJson.getJSONObject("rates"); 
double rate = ratesJson.getDouble("BGN"); 

Чтобы увидеть JSON объект явно, используйте PrettyJson. Скопируйте вставьте строку JSON здесь, и она покажет вам вложенные объекты (если они есть) для четкого понимания ответа.

0

Предполагая, что вы используете JSONObject, и что ваш корневой документ называется «документ»,

JSONObject rates = doc.getJSONObject("rates") получит вам ставки часть:

{"AUD":1.2827,"BGN":1.8069,"BRL":2.9733,"CAD":1.2119,"CHF":0.9551,"CNY":6.1948,"CZK":25.364,"DKK":6.8927,"GBP":0.6614,"HKD":7.75,"HRK":7.0284,"HUF":278.53,"IDR":12954.0,"ILS":3.9244,"INR":63.563,"JPY":119.51,"KRW":1078.25,"MXN":15.358,"MYR":3.5741,"NOK":7.8298,"NZD":1.3216,"PHP":44.281,"PLN":3.7076,"RON":4.08,"RUB":51.215,"SEK":8.6674,"SGD":1.3375,"THB":32.55,"TRY":2.7314,"ZAR":12.182,"EUR":0.9239}

Из этого объекта вы можете просто получить значение BGN с помощью

String bgn = rates.getString("BGN")

Смежные вопросы