kafka ksql extract json feld 文字美元符号

kafka ksql extract json fleld literal dollar symbol

我有来自 mongo CDC 连接器的数据流,但问题是流密钥是 JSON 字符串的形式。

例如 {"id":"{ \"$oid\" : \"5bbb0c70cd0b9c06cf06c9c1\"}"}

我知道我可以使用 extractjsonfield 方法使用 jsonpath 提取数据,但是,我不知道如何提取我试过的文字美元符号: $.id.$oid $.id[$oid] $.id.*

每次我收到空响应,有什么想法吗?

我猜你的问题与issue #1403有关。
您可以使用 [\" field_name \"] 来引用该列。例如,

SELECT EXTRACTJSONFIELD(test,'$[\"$oid\"]') FROM testing;

我在使用 Debezium MongoDB 连接器时遇到了同样的问题。 使用@Giorgos 指出的[\" field_name \"] 对我来说对ksqlDB 0.21.0

不起作用

相反 [\" field_name \"](单反斜杠)有效。