我有一个 stringAndroid 我试图转换为一个应用程序 JSONObject. 。这 string 看起来像这样(除了更长的和实际值,而不是我在此处输入的虚拟值):

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

我已经进入了这个确切的 string 分为两个在线 JSON validators,他们俩都确认它是有效的 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的解析器破碎了?

有帮助吗?

解决方案

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

另外,您可以将数组包裹在对象中,以便可以从中创建一个jsonobject。

其他提示

我建议使用 GSON图书馆 相反,它似乎更加完整。

此外,使用可能会有所帮助 这个工具 测试您的数据(您的数据有效BTW):

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top