比如从后台返回这样一段json串,中间有个字段 reminderContent 这个String类型后面其实也是一个json串,后台封装数据之后就自动转义了其中的双引号,这个时候用Gson转换的时候会报错的,因为你的实体类中 reminderContent 这个字段是String类型,但是后台的这个数据中却包含有转义符号,因此无法解析成功。
{
"userInfo": {
"headPicUrl": "585658179_temphead.jpg",
"nickName": "Mia",
"userId": 15678355887
},
"reminderContent": "{\"contentText\":\"我就说一句话\",\"contentTitle\":\"提醒\",\"settingTime\":1523254256000,\"or\":\"1\"}",
"reminderId": 152352210043891,
"reminderTime": 1523522100447,
"reminderType": 6
}
目前本人的方法是,先把从后台获取的整个字符串过滤一把,把其中的转义符号替换一下,比如:
String jsonStr = "后台获取的数据" jsonStr = jsonStr.replace("\\\"", "'");
然后再解析整个Json串;
ReminderEntity reminderEntity = gson.fromJson(jsonStr, ReminderEntity.class);