在 postgresql 中识别 json 类型
Identify json type in postgresql
是否有函数或方法可以轻松确定 postgresql 中的 json 数据类型?
例如:
select key, value, pg_typeof(value) FROM jsonb_each('{"foo":1,"bar":"2","ack":[1,2,3]}'::jsonb)
Returns:
key value pg_typeof
ack [1, 2, 3] jsonb
bar "2" jsonb
foo 1 jsonb
如何判断ack的值是数组,bar是字符串,foo是数字?
从这里 JSON operators, jsonb_typeof
:
select key, value, jsonb_typeof(value) FROM jsonb_each('{"foo":1,"bar":"2","ack":[1,2,3]}'::jsonb);
key | value | jsonb_typeof
-----+-----------+--------------
ack | [1, 2, 3] | array
bar | "2" | string
foo | 1 | number
是否有函数或方法可以轻松确定 postgresql 中的 json 数据类型?
例如:
select key, value, pg_typeof(value) FROM jsonb_each('{"foo":1,"bar":"2","ack":[1,2,3]}'::jsonb)
Returns:
key value pg_typeof
ack [1, 2, 3] jsonb
bar "2" jsonb
foo 1 jsonb
如何判断ack的值是数组,bar是字符串,foo是数字?
从这里 JSON operators, jsonb_typeof
:
select key, value, jsonb_typeof(value) FROM jsonb_each('{"foo":1,"bar":"2","ack":[1,2,3]}'::jsonb);
key | value | jsonb_typeof
-----+-----------+--------------
ack | [1, 2, 3] | array
bar | "2" | string
foo | 1 | number