JSON示例数据
content = {
"id": "123456789",
"name": "测试",
"list": [
{
"origin": "导入1",
"version": 1
},
{
"origin": "导入2",
"version": 2
}
]
}
注释
->: 返回JSON格式数据
->>:返回文本格式数据
json_array_elements:拆分数组中的JSON数据
::json:将数据结果转化为JSON格式
::json#>>:将数据结果指向子级
1.JSONB查询
1)JSON作为查询字段:
SELECT content->>'id' as id,content->>'name' as name,json_array_elements((content::json#>>'{list}')::json)->>'origin' as origin,json_array_elements((content->>'list')::json)->>'version' as version FROM tablename;