遇到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之间没有多余的空格;

结语

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

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值