2015-04-27 70 views
-10

在我的项目中,我从HTTP响应中获得以下JSON。在Android中解析嵌套的JSONObject

{"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}} 

我想从上面的json中获得“BGN”。如何得到它。

+0

的BGN值试试这个:HTTP://stackoverflow.c OM /问题/ 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}

这个对象,那么你可以简单地得到使用

String bgn = rates.getString("BGN")