Android Gson,尝试解析服务器的json响应时出错

时间:2017-08-10 11:18:09

标签: android json gson android-json

Json有效,但在解析时。 Gson,它给出了错误:

  

com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:   预计BEGIN_OBJECT但在第1行第439行是BEGIN_ARRAY

我已经粘贴了整个Json here

列439引用"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数组中每个json对象中的所有元素。

public class Form{
       -------
       -------
       JSONArray formFields;
       -------
}

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

你的json以

开头
  

{“results”:[....所以它本质上是一个具有键“结果”的数组字段的对象

尝试创建一个类似于:

的包装类
class MyWrapper {
   List<Form> results;
}

这应该让你去。

编辑1(用户添加了结果解析):尝试用List替换该字段并创建一个简单的FormField类,只有一个字段(标题为ex)用于测试目的并查看它是如何进行的。 (顺便说一下,粘贴所有相关的代码部分和整个模型,我们更容易发现错误)