最近在开发过程中遇见一个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
2024-04-01
2024-04-03
2024-04-03
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0