2014-01-10 100 views
0

我的json字符串如下:從json文件中提取值android

我將它傳遞給json對象,如下所示,但我只獲取高爾夫球的值。

 jsonObject = new JSONObject(details_circuit); 
     System.out.println("jsonObject "+jsonObject.toString()); 
     jsArray = jsonObject.getJSONArray("golfs"); 

,如果我做

 jsonObject1 = new JSONObject(jsonObject.getString("circuit")); 

我不能得到任何價值。任何想法。

回答

0
JSONObject jsonObject = new JSONObject(details_circuit); 

JSONObject circuit=jsonObject.getJSONObject("circuit"); 
int id=circuit.getInt("@id"); 
int version=circuit.getInt("@version"); 
String name=circuit.getString("@name"); 
String description=circuit.getString("@description"); 

JSONObject row; 
int id ; 
int version; 
String name; 
JSONArray golfs=jsonObject.getJSONObject("golfs"); 
for(int i=0;i<golfs.length();i++){ 
row = golfs.getJSONObject(i); 
id = row.getInt("id"); 
version=row.getInt("@version"); 
name=row.getString("@name"); 
} 
2
jsonObject1 = new JSONObject(jsonObject.getString("circuit"));//Wrong because circuit is a jsonObject 

使用這個代替

JSONObject jsonObject1 = jsonObject.getJSONObject("circuit"); 

或使用

JSONObject circuit = (JSONObject)jsonObject.get('circuit'); 

Reference

0

"circuit": {是一個JSONObject

更改爲

jsonObject1 = (JSONObject)jsonObject.getJSONObject("circuit"); 
int id = jsonObject1.getInt("@id"): 
0
jsonObject1 = jsonObject.getJSONObject("circuit"); 
0

使用下面的代碼。

JSONObject json = jParser.getJSONFromUrl(url); 
JSONObject json1 = json.getJSONObject("circuit"); 
int id = json1.getInt("id"); 

對於JsonArray使用以下。

JSONArray jarray = json.getJSONArray("golfs"); 
JSONObject jarray = json.getJSONObject(0); 
int id = json1.getInt("id");