com.google.gson.stream.MalformedJsonException: Expected name at line 1 colum

话不多说,用Gson进行解析后台传来的json数据时,因为需要模拟数据,就保存了一份在string.xml文件中,减少测试时多次进行网络请求,结果拿来解析一下,报了错,如下:

Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 2

之前总结了一些gson解析失败的原因:

1. 实体类未指定访问修饰符为 public
2. 实体类中的字段未制定访问修饰符为 public
3. 实体类中的字段的 @SerializedName(value = myValue),其中myValue包含不该出现的空格
但是这次全部检查,以上情况均未出现,头大了,咋回事…不经意回到string.xml中看了一下保存的字符串,呵呵,原来被转义了两次,去除一层转义之后,恢复正常。
so 现在要加上一种情况

1. 实体类未指定访问修饰符为 public
2. 实体类中的字段未制定访问修饰符为 public
3. 实体类中的字段的 @SerializedName(value = myValue),其中myValue包含不该出现的空格
4. 拿到的json数据有问题,有可能是被转义两次

本人不才,有错忘指出。。。
你遇到过什么情况呢?可以留言补充,互相学习。

你可能感兴趣的:(Android,开发中的小tip)