判断传入的JSON数据中是否包含某个字段的值
程序员文章站
2024-03-16 09:13:58
...
问题
- 在获取传入的JSON数据时,获取JSON中可能不包含的字段,会出现异常
解决
- 在获取传入的JSON数据时,如果要获取其中的某个字段,需要先进行判断该字段是否存在
- 使用com.alibaba.fastjson的JSONObejct类判断某个字段是否存在
JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(entity));
// 判断JSON中是否包含该字段,如果包含该字段再进行其余操作
if (jsonObject.containsKey("filedKey")) {
...
}
解决
参数校验规则
需要进行参数校验
- 对外提供的开放接口. 无论是RPC,API还是HTTP接口
- 敏感权限入口
- 需要极高稳定性和可用性的方法
- 调用频次低的方法
-
执行开销很大的方法:
- 参数校验的时间可以忽略不计
- 如果因为参数错误会导致中间执行被退回或者错误时代价很大
不需要进行参数校验
- 可能被循环调用的方法不需要进行参数校验,但是需要在方法说明中注明外部参数的检查要求
- 声明为private的方法,只会被本身类的代码调用:
- 如果已经确定调用的方法代码传入参数已经做过检查或者肯定不会有问题,则不需要进行参数校验
- 底层调用频度比较高的方法
推荐阅读
-
判断传入的JSON数据中是否包含某个字段的值
-
判断以逗号分隔的字符串中是否包含某个数的实例
-
判断以逗号分隔的字符串中是否包含某个数的实例
-
Mysql字符串字段判断是否包含某个字符串的2种方法
-
mysql分组查询获取分组中某个字段值最小的一条数据
-
在Oracle中判断某个字段的值是否为数字
-
(mysql)怎样判断一个数字变量是否包含在表的一个字段中,并列出包含该变量的表中所有数据.该如何处理
-
(mysql)怎样判断一个数字变量是否包含在表的一个字段中,并列出包含该变量的表中所有数据.该如何处理
-
sqlserver2008查找某数据库中的列是否存在某个值 博客分类: sqlserver SQL Server
-
【Java】利用json工具类,传入字段名,获取集合中的对象属性值集合