2

我有一个string应用Android程序,我正在尝试将其转换为JSONObject. 看起来像这样string(除了更长并且使用实际值而不是我在此处输入的虚拟值):

[[{"1":"a"}],[{"1a":"1a","1b":"1b"},{"2a":"2a","2b":"2b"}]]

我已经string在两个网上输入了这个确切JSON validator的内容,并且他们都确认它是有效JSON data的。所以我假设JSONObject构造函数能够接受这个字符串并将其转换为JSONObject. 但是当我尝试时:

json = new JSONObject(result);

其中“结果”是包含上面列出的字符串的字符串变量,我得到以下异常:

JSONException: A JSONObject text must begin with '{' at character 1 of [[{"1":"a"}],[{"1a":"1a","1b":"1b"},{"2a":"2a","2b":"2b"}]]

这里发生了什么?的JSONObject解析器坏了吗?

4

2 回答 2

8

您正在尝试创建一个 JSONObject,但实际上给它的是一个 JSONArray。您是否尝试创建 JSONArray?

或者,您可以将数组包装在一个对象中,以便您可以从中创建一个 JSONObject。

于 2010-09-07T22:41:43.387 回答
0

我建议改用GSon 库,因为它似乎功能更全面。

此外,使用此工具测试您的数据可能会有所帮助(顺便说一句,您的数据是有效的):

于 2010-09-07T22:54:42.620 回答