日期:2014-05-20  浏览次数:20712 次

请教关于JSONObject的用法.

{"retdata":{"colinfo":["key","value"],"rows":[["TEST_ABC","8888"]]},"retcode":1}

想取得上面JSON串中TEST_ABC的值8888.
自己写了. 但是感觉不太好.
JSONObject jasonObject = JSONObject.fromObject("{\"retdata\":{\"colinfo\":[\"key\",\"value\"],\"rows\":[[\"TEST_ABC\",\"8888\"]]},\"retcode\":1}");
String value = jsonObject.getJSONObject("retdata").getJSONArray("rows").optJSONArray(0).get(1);


这样写法没有数据会报错, 得每次调用之前判断.
有什么更好的方法吗? 直接指向8888的方法.

------解决方案--------------------
需要频繁的这么取值的话就写个通用的函数,
只是一两个地方用一下就判断下
------解决方案--------------------
这需要判断的吧。你可以用:jasonObject.opt("key");这样没有这个key的话就返回""