如何在PostgreSQL中识别JSON数据的具体内部类型?
PostgreSQL判断JSON/JSONB内部数据类型的方法
PostgreSQL提供了专门的内置函数用来识别JSON内部的原生类型:
- 针对
jsonb类型使用jsonb_typeof()函数 - 针对
json类型使用json_typeof()函数
你可以直接修改示例中的SQL,把pg_typeof替换为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 |
该函数的返回值覆盖所有JSON原生类型,可选返回结果包括:object、array、string、number、boolean、null,完全匹配JSON标准定义的类型分类。
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

