从json文件android中提取值

时间:2014-01-10 11:51:48

标签: android json

我的json字符串如下:

我将它传递给json对象,如下所示,但我只获得了高尔夫球的价值。

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

如果我这样做

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

我无法获得任何价值。任何想法。

5 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

"circuit": {是一个JSONObject

更改为

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

答案 2 :(得分:0)

jsonObject1 = jsonObject.getJSONObject("circuit");

答案 3 :(得分: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");

答案 4 :(得分: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");
}