json - oracle - json 路径中的 & 符号
问题描述
我有 json 数据,其中 json 路径中有与号。我如何逃避&符号。我已经尝试过这些东西,但没有任何效果 - 1)设置定义 2)转义&符号 - \& 3)使用双&符号 - &&
SELECT id,array1
FROM (
select '{
"data": [
{
"id": 2,
"array1 & tr": "TEST",
}
]
}' AS JSON_DATA
FROM DUAL
) I,
json_table(
i.JSON_DATA ,
'$.data[*]'
COLUMNS (
array1 varchar2(4000) FORMAT JSON path'$."array1 & tr"',
ID varchar2(4000) path '$."id"'
)
) a
ORA-40442: JSON 路径表达式语法错误
解决方案
来自 Oracle 文档:
将“&”放在大括号 {} 之间
(https://docs.oracle.com/cd/B10501_01/text.920/a96518/cqspcl.htm)
从另一个答案:
使用与 & 符等效的 ASCII 来确保它被解释为字符串
"array1 " || chr(38) || " tr": "TEST",
我目前无法对其进行测试,但我发现这些答案与您的情况相符。
推荐阅读
- swift - 如何在 SwiftUI 中自定义 Slider 蓝线?
- python - 如何在给定数据帧中的值或索引列表的情况下屏蔽数据帧
- typescript - 无法匹配类型?
- sql - SQL 计算列,CountIF 2 个表
- python - 创建 Conv2d 时出现 Keras 错误:TypeError:不能将序列乘以“float”类型的非整数
- google-sheets - 如何选择分隔符将文本分成列?
- java - C/C++ 中的 MQ JMS 主题等效项
- nlp - 根据上下文更正或完成单词
- python - 将 html 文档注入 selenium webdriver
- jenkins - 控制台输出 - 无法初始化类 org.jenkinsci.plugins.workflow.cps.CpsThread