Android Gson,尝试解析来自服务器的json响应时出错
Json有效,但在通过解析时无效。Gson,它给出了错误: com.google.gson.JsonSyntaxException:java.lang.IllegalStateException: 应为BEGIN_对象,但在第1行第439列处为BEGIN_数组 我已经粘贴了整个Json 列439引用了Android Gson,尝试解析来自服务器的json响应时出错,android,json,gson,android-json,Android,Json,Gson,Android Json,Json有效,但在通过解析时无效。Gson,它给出了错误: com.google.gson.JsonSyntaxException:java.lang.IllegalStateException: 应为BEGIN_对象,但在第1行第439列处为BEGIN_数组 我已经粘贴了整个Json 列439引用了“formFields”中的最后一个字符(引号):[{“(粘贴箱中的第5行) 要分析的代码: JSONArray results = jsonObject.getJSONArray("results
“formFields”中的最后一个字符(引号):[{“
(粘贴箱中的第5行)
要分析的代码:
JSONArray results = jsonObject.getJSONArray("results");
String s = results.toString();
Type token = new TypeToken<List<Form>>(){}.getType();
List<Form> formArrayList1 = new Gson().fromJson(s, token);
任何帮助都将不胜感激!您的json从
{“results”:[…]因此它本质上是一个对象,它有一个带有键“results”的数组字段
尝试创建类似以下内容的包装器类:
class MyWrapper {
List<Form> results;
}
类MyWrapper{
列出结果;
}
这会让你走的
编辑1(用户添加了解析结果):尝试用列表替换字段,并创建一个简单的FormField类,其中只有一个字段(ex的标题),用于测试目的,看看它是如何运行的。(顺便说一句,粘贴所有相关的代码部分和整个模型,我们将更容易发现错误)您的json从
{“results”:[…]因此它本质上是一个对象,它有一个带有键“results”的数组字段
尝试创建类似以下内容的包装器类:
class MyWrapper {
List<Form> results;
}
类MyWrapper{
列出结果;
}
这会让你走的
编辑1(用户添加了解析结果):尝试用列表替换字段,并创建一个简单的FormField类,其中只有一个字段(ex的标题),用于测试目的,看看它是如何运行的。(顺便说一句,粘贴所有相关的代码部分和整个模型,我们将更容易发现错误)我昨天也问了类似的问题,希望这能有所帮助:)请和大家分享,模态类,json很好,“formFields"您使用的对象不是数组,来自服务器的响应是数组类型
formFields
应声明为List formFields;
。您可以使用:创建模型类。它将做两件事。1)验证json是否有效。2)创建有效的JavaPOJOs@PramodYadav从我在JSON中看到的formFields
是一个JSONArray
和模型Form
对于formFields
具有相同的签名。如果我错了,请纠正我。我昨天问了类似的问题,我希望这有帮助:)请分享你,模态类,json很好,“formFields”您使用的对象不是数组,来自服务器的响应是数组类型formFields
应声明为List formFields;
。您可以使用:创建模型类。它将做两件事。1)验证json是否有效。2)创建有效的JavaPOJOs@PramodYadav从我在JSON中看到的formFields
是JSONArray
和模型Form
对formFields
具有相同的签名。如果我错了,请纠正我。我正在提取json数组,然后将其提供给Gson。检查我的更新代码。谢谢JanBo,我会尝试:)我正在提取json数组,然后将其提供给Gson。检查我的更新代码。谢谢JanBo,我会的试试看:)