fastjson中出现(syntax error, expect {, actual string, pos 0)错误原因分析

这篇具有很好参考价值的文章主要介绍了fastjson中出现(syntax error, expect {, actual string, pos 0)错误原因分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近在开发过程中遇见一个fastjson巨坑,错误截图如下:
fastjson中出现(syntax error, expect {, actual string, pos 0)错误原因分析,java,servlet,开发语言

com.alibaba.fastjson.JSONEXception: syntax erron,expect {, actual string, pos 0, fastjson-version 1.2.83
at com.aLibaba.fastjson.parser.deserializer .JavaBeanDeserializer .deserialze(JavaBeanlesenializer.java:506) [fastjson-1.2.83.jar :na]at com.alibab.fastjson.parser .deserializer .JavaBeanDeserializer .parseRest(avaBeanbDesenialize .java:1624)[fastjson-1.2.83.jar :na)at com.alibaba.fastjson.panser .deserializer.FastjsonASNDeserializer_1_Task.deserialze(Unknown Sounce)~[na:naJ
at com.aLibaba.fastjson.parser .deserializer.JavaBeanDeserializer.deserialze(JaveBeanDesenializer.java:287)[fastison-1.2.83.jan-naJat com.alibaba .fastjson . parser .DefaultJSONParser .parseObject(DefaultJSONParser .java:705)~[fastjson-1.2.83. jar:naJ
at com.alibaba.fastjson.JSON.parseObject(JSON.java:394)~[fastjson-1.2.83.jar:na]
at com.alibaba.fastjson.JSON.parseObject(JSON.java:298)~[fastjson-1.2.83.jar:na]at com.alibaba.fastjson.JSON.parseObject(JSON.java:588) ~[fastjson-1.2.83.jar:na]
at com.itcast.cn.service.impl.RedisServiceImpl.poll(RedisSenviceImpl.java:33) ~[classes/:na]
at com.itcast.cn.controller.RedisOperateString .operateStrings(RedisopenateStpinc.java:60)[classes/:na] c1 interna,
calls>
at javax.servlet.http.HttpServlet.service(HttpSenvlet. java:634)[toncat-embed-core-9.0.21.jan :9.0.21] c intennal ca)
l>
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)~[tomcat-embed-core-9.0.21.jar:9.0.21]
at org.apache .catalina.core .ApplicationFilterChain.internalDoFilter(ApplicationFiltenChain.java:231) w[tomcat-embed-c.
re-9.0.21.jar: 9.0.21]

错误原因:
这个错误是指json字符串的格式不正确,导致解析失败

   正常来说,我们用fastjson包内置的json解析方法是没问题的。例如JSON.toJsonString(),然后在转会对象用JSON.parseObject()这样没问题。但是,假设我们加入用redis操作字符串的set方法放入redis,在用get取出来的时候,就会出问题了。

fastjson中出现(syntax error, expect {, actual string, pos 0)错误原因分析,java,servlet,开发语言
解决办法:

第一种就是用String类提供的替换方法,替换掉\和去掉前后的""。后在交给JSON.parseObject()转换
第二种就是调用JSON.parse()这个解析方法。解析后在交给JSON.parseObject()来转换。

总结:
开发过程中踩坑是必然,记录下来,希望下次遇见这个问题的小伙伴可以避坑。文章来源地址https://www.toymoban.com/news/detail-548947.html

到了这里,关于fastjson中出现(syntax error, expect {, actual string, pos 0)错误原因分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Uniapp Syntax Error: Error: Unbalanced delimiter found in string

    报错 这边导致文件的原因:可能是条件编译语法不小心删了某个字符,导致不全,无法形成一对。 解决问题:

    2024年02月13日
    浏览(37)
  • SQL 错误 [22007]: ERROR: invalid input syntax for type date: ““

    PG数据库一张表有这样一个 varchar 类型的字段 end_date ,存储的值是格式化后的年月日日期如 2024-08-10 现在我需要根据当前日期与end_date的差值作为where条件过滤,我的写法 报错 Caused by: org.postgresql.util.PSQLException: ERROR: invalid input syntax for type date: “” 这个错误翻译: 无效的类型da

    2024年02月11日
    浏览(41)
  • 已解决 Kotlin Error: Type mismatch: inferred type is String but Int was expected

    🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页 : 🐅🐾猫头虎的博客🎐 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐 《100天精通Golang(基础入门篇)》 🐅

    2024年02月04日
    浏览(44)
  • Vue 出现Syntax Error:TypeError: Cannot read property ‘vue‘ of undefined的一种解决办法

    出现如下情况 背景:首次克隆运行项目 技术背景:项目使用的前端框架和UI框架 :vue2+element-ui 然后npm install 安装依赖,得到node_modules包和package-lock.json文件,然后npm run dev启动报错。 排查原因: 首先看了package.json 文件的node版本和npm版本支持 当前的我的node和npm版本用的是:

    2024年02月13日
    浏览(30)
  • Vue CLI系列之Syntax Error: Thread Loader (Worker 4) The “from“ argument must be of type string. Receive

    Syntax Error: Thread Loader (Worker 4) The “from” argument must be of type string. Received undefined vue-cli 使用 wokrer-loader 加载 web woker 时,使用 npm run build 有很大机率会打包失败,报错如上。 thread-loader 与worker-loader有冲突。 vue.config.js 配置 parallel: false 。构建正式环境关闭thread-loader。 如果你感

    2024年02月15日
    浏览(36)
  • Mysql出现问题:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corres解决方案

    回城传送–》《数据库问题解决方案》 ❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作者🏆,阿里云专家博主🏆,51CTO专家博主🏆 ❤️技术活,该赏 ❤️点赞 👍 收藏 ⭐再看,养成习

    2024年02月12日
    浏览(124)
  • Fastjson JSONException: illegal identifier : \pos 2, line 1, column 3问题解决

    com.alibaba.fastjson.JSONException: illegal identifier : pos 2, line 1, column 3 问题分析: 1、使用了JSONArray.parseArray(String text, ClassT clazz)方法时,text字符串内部存在转义字符,导致反序列化报错。 解决办法:先去以下网站将字符串去转义。   JSON在线 | JSON解析格式化—SO JSON在线工具 SO JSO

    2023年04月19日
    浏览(55)
  • The database operation was expected to affect 1 row(s), but actually affected 0 row(s); 解决乐观并发

    EF Core 实现 乐观并发 ,假定并发冲突相对较少。 与 悲观 方法(即先锁定数据,然后才继续修改数据)不同,乐观并发不需要锁定,而是安排数据修改在保存时失败(如果数据自查询后已更改)。 此并发故障将报告给应用程序,应用程序可能会通过对新数据重试整个操作来

    2024年02月11日
    浏览(37)
  • Hive:bigint和string进行join出现匹配错误问题

    转载链接 在hive中,两个表进行join,on条件两表的字段含义一致(都是整数),但数据类型不一致:string和bigint。join后发现如果数值过大则匹配的记录会出现问题:一条记录会匹配出多条记录(explain可以发现都转换为double) 如:190000000002778025,就会错误的匹配上*8023 ,*802

    2024年04月17日
    浏览(20)
  • SQL 错误 [1064] [42000]: You have an error in your SQL syntax; check the manual that corresponds to yo

    在为用户指定数据的时候,报错了,SQL 错误 [1064] [42000]: You have an error in your SQL syntax; check the manual that corresponds to yo 原因 出现这个错误是因为数据库名称 jeecg-boot 包含了不允许的字符(如连字符-)。根据 MySQL 文档,数据库名、表名和列名等标识符应该只包含字母、数字、下

    2024年04月17日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包