Java - 如何解析json数组和对象

时间:2013-06-14 14:55:57

标签: java android json org.json

我在Java(Android)中使用org.json包,我只是偶然发现了一个简单的问题。

如果一切正常,网络服务器会返回一个数组,但如果出现问题,则会返回一个json对象{ error : true, ...}

我如何将其解析为一个公共对象 - 我的意思是数组和对象毕竟都是json,但似乎JSONArrayJSONOBject不共享一个共同的接口。

我错过了什么吗?

2 个答案:

答案 0 :(得分:2)

使用JSONTokener.nextValue()并检查结果是JSONObject还是JSONArray(使用instanceof)。

答案 1 :(得分:1)

真正的答案是......修复网络服务器并让它返回一致的结果。否则,您基本上将不得不手动检查返回的数据以查看它是什么。

另一个选择是捕获JSONException JSONArray的构造函数,当它不是一个表明你应该尝试JSONObject的数组时将抛出。