0

例如,一种如下的 JSON:

    { "x":"1","y":"2","z":{"a":"1","b":"2","c":"3"}}

把它作为字符串放在 JSONObject 参数中:

    JSONObject jaob=new JSONObject(xxx)

并且从 JSONObject 的方法“get(”x“)”我可以获得值“1”

     jaob.get("x")

但是如何得到二级JSON格式“z”的“a”???

当我尝试通过

     JSONObject(jaob.get("z").toString()).get("a")

但它不起作用。
有没有人有这个想法?
任何回应表示赞赏,谢谢

4

2 回答 2

6
jaob.getJSONObject("Z").getString("a")

或者,您可以使用 getLong 或 getString on a

如果您阅读javadocs,这很容易。你的不起作用的原因是get返回 a java.lang.Objectnot a JSONObjector JSONArray

于 2012-08-15T13:47:22.500 回答
1

你有没有尝试过

JSONObject jaob = new JSONObject(xxx);

jaob.getJSONArray("z");

//or 

jaob.getJSONObject("z");

他们都根据 JSONObject 返回JSONObject

于 2012-08-15T13:46:45.293 回答