我的json字符串如下:
我将它传递给json对象,如下所示,但我只获得了高尔夫球的价值。
jsonObject = new JSONObject(details_circuit);
System.out.println("jsonObject "+jsonObject.toString());
jsArray = jsonObject.getJSONArray("golfs");
如果我这样做
jsonObject1 = new JSONObject(jsonObject.getString("circuit"));
我无法获得任何价值。任何想法。
答案 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');
答案 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");
}