为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:1-3-26-2023.07.26-197096-20046-ENT
【操作系统】:Linux 17630bc116a7 5.4.0-110-generic #124-Ubuntu SMP Thu Apr 14 19:46:19 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
【CPU】:Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz
【问题描述】*:json查询时,key为中文如何处理?
我有个一字段存储着json如下:
{
"relation":{
"total":[
3,
0,
0,
0
],
"detail":{
"双方":[
1,
0,
0,
0
],
"abc":[
1,
0,
0,
0
]
}
}
}
当我使用json查询relation
属性下的detail
下的双方
数组里的第一个元素时,报错如下:
[执行语句1]:
select json_value('{"relation":{"total":[3,0,0,0],"detail":{"双方":[1,0,0,0],"abc":[1,0,0,0]}}}','$.relation.detail.双方[0]');
执行失败(语句1)
-3102: JSON路径表达式语法错误
若把中文key双方
换为abc
则正常,所以,若json的key为中文时,如何查询?
试试看:

select json_value("result", '$.relation.detail."双方"[1]' ) from "SYSDBA"."test_task_result";