我最终将一些json数据导入到数据库中,该数据库在json键中包含unicode转义。我似乎找不到处理数据的方法。最简单的例子是:
选择"{"test\u0007":123}":json->'test\u0007'
我得到的不是123,而是NULL。有人能帮忙吗?
运算符接受json
和text
操作数。在text
中,根据SQL规范,反斜杠转义没有任何意义。
如果你想匹配该键,你需要在字符串中插入未标注的文本,或者使用PostgreSQL扩展名E''
字符串,例如:
regress=> select '{"testu0007":123}'::json ->> E'testu0007';
?column?
----------
123
(1 row)
json
以解码的形式进行比较,这就是为什么原始版本不起作用。