PostgreSQL 9.4 to_jsonb
PostgreSQL 9.4 to_jsonb
在 PostgreSQL 9.5 to_jsonb
function will be added. In 9.4 中只有 to_json
函数。
我正在尝试为 jsonb 转换 this 答案,但找不到 to_json
函数的替代方案。我怎样才能做到这一点。
您可以使用 to_json
然后将其转换为 jsonb
:
CREATE OR REPLACE FUNCTION to_jsonb(e anyelement)
RETURNS jsonb
AS $$
SELECT to_json(e)::jsonb
$$ LANGUAGE sql;
SELECT to_jsonb('Fred said "Hi."'::text),
pg_typeof(to_jsonb('Fred said "Hi."'::text));
┌─────────────────────┬───────────┐
│ to_jsonb │ pg_typeof │
├─────────────────────┼───────────┤
│ "Fred said \"Hi.\"" │ jsonb │
└─────────────────────┴───────────┘
(1 row)
将此函数命名为 to_jsonb
可能 是个坏主意(因为 9.5 中将内置一个 to_jsonb
,而且它确实很容易认为这个也是内置的)。
在 PostgreSQL 9.5 to_jsonb
function will be added. In 9.4 中只有 to_json
函数。
我正在尝试为 jsonb 转换 this 答案,但找不到 to_json
函数的替代方案。我怎样才能做到这一点。
您可以使用 to_json
然后将其转换为 jsonb
:
CREATE OR REPLACE FUNCTION to_jsonb(e anyelement)
RETURNS jsonb
AS $$
SELECT to_json(e)::jsonb
$$ LANGUAGE sql;
SELECT to_jsonb('Fred said "Hi."'::text),
pg_typeof(to_jsonb('Fred said "Hi."'::text));
┌─────────────────────┬───────────┐
│ to_jsonb │ pg_typeof │
├─────────────────────┼───────────┤
│ "Fred said \"Hi.\"" │ jsonb │
└─────────────────────┴───────────┘
(1 row)
将此函数命名为 to_jsonb
可能 是个坏主意(因为 9.5 中将内置一个 to_jsonb
,而且它确实很容易认为这个也是内置的)。