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 ;
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