代码 ::
Object obj=jsonobject.get("results");
obj
包含:
[
{
"providedLocation": {
"latLng": {
"lat": 12.931088,
"lng": 77.620949
}
},
"locations": [
{
"latLng": {
"lat": 12.931088,
"lng": 77.620949
},
"adminArea5Type": "City",
"adminArea4": "Bangalore Urban",
"adminArea5": "Bangalore",
"adminArea4Type": "County",
"street": "Sarjapur Road",
"adminArea1": "IN",
"adminArea3": "Karnataka",
"type": "s",
"displayLatLng": {
"lat": 12.928883,
"lng": 77.617502
},
"linkId": 0,
"postalCode": "560095",
"dragPoint": false,
.
。 。 } ] } ]
我想做什么 ::我试图从"Bangalore"
中提取"adminArea5"
我尝试了什么 ::我试图使用代码转换为json
jsonobject = new JSONObject(obj);
我要回的是{}
问题 ::
使用的代码 ::
JSONObject jsonobject,jsonobject1;
try {
HttpClient Client = new DefaultHttpClient();
HttpGet httpget = new HttpGet(Const.URL_JSON_OBJECT.trim());
ResponseHandler<String> responseHandler = new BasicResponseHandler();
Content = Client.execute(httpget, responseHandler);
jsonobject = new JSONObject(Content);
//jsonobject1 = (JSONObject)jsonobject.get("results");
Object obj=jsonobject.get("results");
jsonobject = new JSONObject(obj);
答案 0 :(得分:0)
你的结果是一个JSONArray,所以改为创建一个新的JSONArray(obj),然后你可以从生成的JSONArray中的第一个项目中创建一个JSONObject。
JSONObject item = myJsonArray.getJSONObject(0);
答案 1 :(得分:0)
试试这个..
将JSONObject
更改为JSONArray
JSONArray jsonarray = new JSONArray(obj);
JSONObject list_item = jsonarray.getJSONObject(0);
JSONArray locations_jsonarray = list_item.getJSONArray("locations");
JSONObject locations_list_item = locations_jsonarray.getJSONObject(0);
String value = locations_list_item.getString("adminArea5")
答案 2 :(得分:0)
我认为你的方法是错误的,因为你试图转换jsonarray to jsonobject
。所以
{} denote json object
[] denote json array
现在代码如下:
JSONObject main = myJsonArray.getJSONObject(0);
JSONArray location = main.getJSONArray("locations");
JSONObject location_main = location.getJSONObject(0);
String adminArea5 = location_main.getString("adminArea5");
答案 3 :(得分:0)
首先,您只有JSONObject
,而尝试获取只返回results
的{{1}}。这里使用了基于零的索引,如果你有多个位置数组,请尝试放入循环。
JSONArray