postgres 9.4 and unicode in json



我最终将一些json数据导入到数据库中,该数据库在json键中包含unicode转义。我似乎找不到处理数据的方法。最简单的例子是:

选择"{"test\u0007":123}":json->'test\u0007'

我得到的不是123,而是NULL。有人能帮忙吗?

运算符接受jsontext操作数。在text中,根据SQL规范,反斜杠转义没有任何意义。

如果你想匹配该键,你需要在字符串中插入未标注的文本,或者使用PostgreSQL扩展名E''字符串,例如:

regress=> select '{"testu0007":123}'::json ->> E'testu0007';
 ?column? 
----------
 123
(1 row)

json解码的形式进行比较,这就是为什么原始版本不起作用。

最新更新