相关文章推荐
难过的沙发  ·  EF ...·  3 月前    · 
痴情的电池  ·  如何配置扩展程序选项_大数据开发治理平台 ...·  3 年前    · 
有腹肌的火锅  ·  camunda spring boot ...·  3 年前    · 
正直的桔子  ·  pycharm社区版安装及使用教程(win1 ...·  3 年前    · 
刀枪不入的豆芽  ·  jdk1.6 支持 ...·  3 年前    · 
道上混的紫菜汤  ·  【pandas】文本处理:如何将相同ID的字 ...·  3 年前    · 
Code  ›  Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected characterwas expecting double-q开发者社区
core
https://cloud.tencent.com/developer/article/1791434
卖萌的烤面包
3 年前
作者头像
JavaEdge
0 篇文章

Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected characterwas expecting double-q

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > JavaEdge > Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected characterwas expecting double-q

Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected characterwas expecting double-q

作者头像
JavaEdge
发布 于 2021-02-23 14:42:22
2.9K 0
发布 于 2021-02-23 14:42:22
举报

解决fasterxml中string字符串转对象json格式错误问题。

springboot中jackson使用的包是fasterxml的。可以通过如下代码,将一个形如json格式string转为一个java对象:

com.fasterxml.jackson.databind.ObjectMapper mapper = new com.fasterxml.jackson.databind.ObjectMapper();
mapper.readValue(字符串, javabean.class);

但是,当我们要转的字符串是这种格式的就会报错,因为这种格式并不是规范的json格式:

{success:2,message:'认证已通过!设备未添加,请与和航联系。设备编号:1101'}

错误信息是:

com.fasterxml.jackson.core.JsonParseException: Unexpected character ('s' (code 115)): was expecting double-quote to start field name

意思就是:fasterxml期望字段名带有双引号,也就是期望是这样的:

{"success":2,"message":"认证已通过!设备未添加,请与和航联系。设备编号:1101"}

通过对比,发现上面的字符串和规范的json字符串主要有两个不同点

  1. 字段名未用引号
  2. 第二个是使用了单引号

这都是不规范的Json格式写法。 当然,最好的解决方式是将string字符串转成规范的json格式,但是由于某些原因,不得不使用这种格式怎么办呢?

解决:

com.fasterxml.jackson.databind.ObjectMapper mapper = new com.fasterxml.jackson.databind.ObjectMapper();
 
推荐文章
难过的沙发  ·  EF Core查询SQLite时DateTime空值引发InvalidFormatException
3 月前
痴情的电池  ·  如何配置扩展程序选项_大数据开发治理平台 DataWorks-阿里云帮助中心
3 年前
有腹肌的火锅  ·  camunda spring boot oracle database configuration-掘金
3 年前
正直的桔子  ·  pycharm社区版安装及使用教程(win10系统)_永不落后于人的博客-CSDN博客
3 年前
刀枪不入的豆芽  ·  jdk1.6 支持 tls1.2协议,并解决UnsupportedOperationException问题__Kafka_的博客-CSDN博客
3 年前
道上混的紫菜汤  ·  【pandas】文本处理:如何将相同ID的字符串进行合并 - HuaBro - 博客园
3 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号