所以问题如下,我有一个表,其中有一个 CLOB 列,它存储 JSON 字符串。假设列名称是 message。现在我正在生成另一个包含此消息字段以及一些额外字段的 JSON。如下图所示
{
"groupId": "12345",
"payloads": [
{
"message": "JSON",
"key_value": "200",
"kafkaTopic": "XXXX",
"encryptInd": "Y"
},
{
"message": "JSON",
"key_value": "100",
"kafkaTopic": "XXXX",
"encryptInd": "Y"
}
]
}
我使用 JSON_OBJECT 和 JSON_ARRAYAGG 生成最终的 JSON。查询看起来像
SELECT JSON_OBJECT(KEY 'groupId' VALUE 12345,
KEY 'payloads' VALUE JSON_ARRAYAGG(JSON_OBJECT(KEY 'message' VALUE gko.message,
KEY 'key_value' VALUE gko.key_value,
KEY 'kafkaTopic' VALUE gkor.topic_name,
KEY 'encryptInd' VALUE gkor.encrypt_ind RETURNING CLOB)
RETURNING CLOB) RETURNING CLOB )
but the problem is JSON message with the tag 'message' is coming with escape "\" characters. like below
{"groupId":12345,"payloads":[{"message":"{\"code\":\"SALE\",\"header\":{\"tranType\":\"
请让我知道如何避免消息中的转义字符。
按照以下方式更改查询后,转义字符不再出现
JSON_OBJECT(KEY 'message' VALUE gko.message FORMAT JSON
@redsoxlost 我尝试像你一样添加 KEY 和 VALUE,但仍然不起作用