0

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

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

我怎样才能将它解析成一个公共对象——我的意思是数组和对象毕竟都是 json,但它似乎JSONArray并不JSONOBject共享一个共同的接口。

我错过了什么吗?

4

2 回答 2

2

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

于 2013-06-14T15:02:38.800 回答
1

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

另一种选择是捕获JSONException构造函数 for JSONArraywill throw 当它不是一个向您指示您应该尝试的数组时JSONObject

于 2013-06-14T15:35:00.613 回答