JSON格式数据取值问题

使用的数据库JSON字段结构:

不管是 JSONObject

 

还是JSONArray

 

 

 

 

  

取值步骤如下:

 

1、在实体类上增加注解

@TableName(value = "xxxx", autoResultMap = true)
字段上增加注解
@TableField(typeHandler = FastjsonTypeHandler.class)

 

 2、使用的是XML时,需要在xml中有对应的实体类映射,且JSON格式的数据需要加上typeHandler 属性

特别注意:在以上resultMap中,并且是是使用了typeHandle的字段,千万不要使用驼峰别名(使用了就会使查询的值为null,本人踩过的坑),错误示例如:

 

 

 即使是需要使用别名,也需使用和数据库字段一致的字段,如:

 

 

 

 在对应的查询SQL中,使用 字段名 -> '$."key"',有的版本只需要 字段名 -> '$.key'   即可;

若是对象,则

 

 字段名->'$[*].type'

 

 

3、若是使用lambda时,需要使用.apply,结合实际需求,对JSON字段取值,取值demo: 字段名 -> '$.\"key\"'  

注:\"是进行转义使用

 

posted @ 2022-08-23 18:07  北岸初☆雪*  阅读(964)  评论(0)    收藏  举报