pgsql json解析
时间: 2023-07-28 09:08:56 浏览: 133
引用\[1\]:在PostgreSQL中,可以使用json_extract函数或者->>操作符来解析json数据。例如,如果要解析名为a的json字段中的第一个元素的"text"属性,可以使用以下语句:
SELECT json_unquote(json_extract(a, '$\[0\]."text"')) AS b FROM table_name WHERE id=424;
或者
SELECT a->>'$\[0\].text' AS b FROM table_name WHERE id=424;
引用\[2\]:如果要解析PostgreSQL中的json数组,可以使用json_array_elements函数。例如,如果要解析名为cnames的字段中的所有元素的"value"属性,可以使用以下语句:
SELECT id, json_array_elements(REPLACE(cnames, '\u0000', '')::json)->>'value' AS cname, is_deleted FROM ods_test WHERE is_deleted='f' AND cnames LIKE '%}\]';
引用\[3\]:在PostgreSQL中,可以使用@>操作符进行json包含的查询操作。例如,如果要判断一个jsonb对象是否包含另一个jsonb对象,可以使用以下语句:
SELECT '{"product": "PostgreSQL", "version": 9.4, "jsonb": true}'::jsonb @> '{"version": 9.4}'::jsonb;
或者
SELECT '\[1, 2, \[1, 3\]\]'::jsonb @> '\[\[1, 3\]\]'::jsonb;
这些操作符可以帮助你在PostgreSQL中进行json解析和包含查询。
#### 引用[.reference_title]
- *1* *2* [PostgreSQL中的json解析](https://blog.csdn.net/s1162276945/article/details/126268509)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [简述PostgreSQL中json数据类型](https://blog.csdn.net/yelangkingwuzuhu/article/details/129874435)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文