我在解析从我的数据库获得的 JSON 到我的 Java (Android) 应用程序时遇到了一些问题。我希望你能帮助我:
这是我拥有的Json:
<br>
[{<br>
"ID" : "1",<br>
"name" : "Test name",<br>
"type" : "1",<br>
"Desc" : "blablabla",<br>
"minNum" : "0",<br>
"maxNum" : "12",<br>
"Num" : "8",<br>
"bool1" : "0",<br>
"bool2" : "1",<br>
"bool3" : "1",<br>
"date" : "2012-04-01 23:00:00",<br>
"double1" : "39.47208",<br>
"doubl2" : "-0.3556063",<br>
"someText" : "ajayeah",<br>
"number" : "15",<br>
"anotherNumber" : "1234"<br>
}, {"ID" : "2",<br>
"name" : "Test name",<br>
"type" : "1",<br>
"Desc" : "blablabla",<br>
"minNum" : "0",<br>
"maxNum" : "12",<br>
"Num" : "8",<br>
"bool1" : "0",<br>
"bool2" : "1",<br>
"bool3" : "1",<br>
"date" : "2012-04-01 23:00:00",<br>
"double1" : "39.47208",<br>
"doubl2" : "-0.3556063",<br>
"someText" : "ajayeah",<br>
"number" : "15",<br>
"anotherNumber" : "1234"<br>
}]<br>
(这些名字显然不是我在这里写的:P)
我将所有这些作为字符串(选中,OK),例如在一个名为 responseString 的变量中;
然后我尝试了所有可能的方法来进行转换,但总是失败。我试图将它作为一个对象删除'['']',作为一个数组(我实现的东西,但是这条线失败了):
MyClassList MyClas = new Gson().fromJson(responseString, MyClassList.class);
错误是:
com.google.gson.JsonSyntaxException:
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY
(其他测试首先将其转换为对象或数组,错误在于 BEGIN_STRING)
可能是因为我使用的是布尔值和日历类型(在日期中)并且 Gson 库不支持它吗?
好吧,我希望你能让我离开这里,因为我要疯了。
谢谢 :)
不要使用日历,那是我的问题。相反,您可以使用 Date 并且它可以工作。另外,我不知道为什么,像 "0"|"1" 这样的布尔值不起作用。像“真”|“假”是的。