自学内容网 自学内容网

遇到not allow unquoted fieldName怎么办

前言

Exception in thread "main" com.alibaba.fastjson2.JSONException: not allow unquoted fieldName, offset 2, character  , line 1, column 3, fastjson-version 2.0.25 {  "data":null,  "code":200,  "msg":"成功"}
at com.alibaba.fastjson2.JSONReader.read(JSONReader.java:1493)
at com.alibaba.fastjson2.JSON.parseObject(JSON.java:215)
at com.alibaba.fastjson2.JSONObject.parseObject(JSONObject.java:1970)

各位盆友,请仔细看,如第一眼立即就发现了问题所在,给博主留个言,我为你点赞!
在这里插入图片描述

一、错误的案例

这里,首先可以看出是Json格式存在问题。通常我们习惯用各种在线XXX工具,满足快速格式化的需要,比如Json压缩、格式化、转义等。如使用XXX工具的格式化后,即使格式校验通过,也可能出现意外。博主在这里列示一些典型的错误。

示例1

每个field之间存在数量不一的空格:

{  "data":null,  "code":200,  "msg":"成功"}
示例2

部分field没有添加双引号:

{data:null,"code":200,"msg":"成功"}

其他明显问题不再列示了。以上2种示例,容易犯错。如通过JSONObject.parseObject(“json字符串”)转换对象时,一定会报异常。

二、正确的写法

  1. 保持json的每个field都有双引号;
  2. 保持json的每个field之间没有多余的空格;

结语

通过这个案例,可以见得:培养一个好习惯,可以减少犯错的可能,也降低了开发的成本

在这里插入图片描述


原文地址:https://blog.csdn.net/splendid_java/article/details/140641368

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!