返回顶部
首页 > 资讯 > 后端开发 > JAVA >fastjson中出现(syntax error, expect {, actual string, pos 0)错误原因分析
  • 341
分享到

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

javaservlet开发语言 2023-09-02 11:09:45 341人浏览 安东尼
摘要

最近在开发过程中遇见一个fastJSON巨坑,错误截图如下: com.alibaba.fastjson.JSONEXception: syntax erron,expect {, actual st

最近在开发过程中遇见一个fastJSON巨坑,错误截图如下:
在这里插入图片描述

com.alibaba.fastjson.JSONEXception: syntax erron,expect {, actual string, pos 0, fastjson-version 1.2.83at 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:naJat 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:naJat 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取出来的时候,就会出问题了。

在这里插入图片描述
解决办法:

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

总结:
开发过程中踩坑是必然,记录下来,希望下次遇见这个问题的小伙伴可以避坑。

来源地址:https://blog.csdn.net/m0_50837402/article/details/129992046

--结束END--

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

本文链接: https://lsjlt.com/news/390590.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作