Postgres:如何将json字符串转换为文本?
Json值可以包含一个字符串值。例如。:
postgres=# SELECT to_json('Some "text"'::TEXT); to_json
-----------------
"Some \"text\""
如何提取该字符串作为postgres文本值?
::TEXT
不起作用。它返回带引号的json,而不是原始字符串:
postgres=# SELECT to_json('Some "text"'::TEXT)::TEXT; to_json
-----------------
"Some \"text\""
谢谢。
PS我正在使用PostgreSQL 9.3
回答:
PostgreSQL中没有办法解构标量JSON对象。因此,正如您所指出的,
select length(to_json('Some "text"'::TEXT) ::TEXT);
是15
诀窍是将JSON转换为一个JSON元素的数组,然后使用提取该元素->>
。
select length( array_to_json(array[to_json('Some "text"'::TEXT)])->>0 );
将返回11。
以上是 Postgres:如何将json字符串转换为文本? 的全部内容, 来源链接: utcz.com/qa/429117.html