PostgreSQL 查询怎么取到json中的字段值 有几种方法

在PostgreSQL中可以使用多种方法来取到JSON中的字段值,以下是其中的三种常用方法:

1、通过->操作符取值

操作符用于从JSON对象中提取一个键的值。例如,假设有一个JSON对象{“name”: “John”, “age”: 30},我们可以使用以下查询语句取出name字段的值:

SELECT my_json_column->>'name' FROM my_table;
select (my_json_column::json->>'name') name FROM my_table;

操作符用于从JSON对象中提取一个键的字符串值。

2、通过#>操作符取值

操作符用于从JSON对象中提取多层嵌套键的值。例如,假设有一个JSON对象{“person”: {“name”: “John”, “age”: 30}},我们可以使用以下查询语句取出name字段的值:

SELECT my_json_column#>'{person,name}' FROM my_table;

多层操作 {"code":"SUCCESS","data":{"values":{"name":"MIGUEL","gender":"H"},"cardType":"INE_OR_IFE_FRONT"},"message":"OK"}

select  (address_all::json->>'data')::json #>>'{values,name}' as cust_address_state  from my_json_column ;

3、通过json_extract_path函数取值

json_extract_path函数用于从JSON对象中提取一个或多个键的值。例如,假设有一个JSON对象{“person”: {“name”: “John”, “age”: 30}},我们可以使用以下查询语句取出name字段的值:

SELECT json_extract_path(my_json_column, 'person', 'name') FROM my_table;

json_extract_path函数可以提取多个键的值,只需要在函数的参数中依次指定键名即可。

原文链接:https://blog.csdn.net/qq_20303591/article/details/129833919

posted @ 2023-07-18 16:02  Lafite-1820  阅读(4793)  评论(0编辑  收藏  举报