json_typeof()

返回json值类型的函数(字符串形式)

json_typeof() 是一个系统函数,返回顶级 json 值的类型,以文本字符串形式表示。

json_typeof()PostgreSQL 9.4 中添加。

用法

json_typeof ( json ) → text

将返回以下值之一

  • object
  • array
  • string
  • number
  • boolean
  • null

请注意,这些值,尤其是在 null 的情况下,并非与相应的SQL数据类型直接等价。

更改历史记录

示例

使用 json_typeof() 确定各种 json 值的类型

postgres=# SELECT json_typeof('{"foo":[]}'::json);
 json_typeof 
-------------
 object
(1 row)

postgres=# SELECT json_typeof('[]'::json);
 json_typeof 
-------------
 array
(1 row)

postgres=# SELECT json_typeof('"foo"'::json);
 json_typeof 
-------------
 string
(1 row)

postgres=# SELECT json_typeof('123'::json);
 json_typeof 
-------------
 number
(1 row)

postgres=# SELECT json_typeof('false'::json);
 json_typeof 
-------------
 boolean
(1 row)

postgres=# SELECT json_typeof('null'::json);
 json_typeof 
-------------
 null
(1 row)

请注意,任何数值都映射到 number 类型

postgres=# SELECT json_typeof(123::int::text::json);
 json_typeof 
-------------
 number
(1 row)

postgres=# SELECT json_typeof(1.23::numeric::text::json);
 json_typeof 
-------------
 number
(1 row)

json null 不等价于SQL NULL

postgres=# SELECT json_typeof('null'::json),
                  json_typeof(NULL::json) IS NULL;
 json_typeof | ?column? 
-------------+----------
 null        | t
(1 row)

分类

JSON系统函数

另请参阅

jsonb_typeof()

反馈

提交关于“json_typeof()”的任何评论、建议或更正 此处