版本:SqlSugarCore5.1.3.41
数据库:Mysql5.7、8.0
问题说明:从json中获取字段报错
对应语句:OperateType = SqlFunc.JsonField(a.parameters, "操作类型")
报错内容:Invalid JSON path expression. The error is around character position 14.
生成的数据库语句: `a`.`parameters`->"$.操作类型" AS `OperateType`
排查问题:
看生成的语句是没有问题。直接在数据库执行语句,报同样的错误,那就是数据库本身的问题了。
换mysql8.0同样报错,那就不是版本问题了。
修改json内容,发现改成英文key就可以了。
查了下之前的数据库脚本,发现在mysql中,查询中文的key不能用通用语句,需要修改为:`a`.`parameters`->'$."操作类型"' AS `OperateType`
所以,暂时不支持中文Key,全部改成英文吧。