我很难在一个基础上找到值,因为所有的例子都引用了在简单json中找到信息的相同方法。
但是一个工作上的朋友给了我一个解决方案,我来分享。
最初的问题是:如何在嵌套的json中进行选择???
像这样的json:
{
"vehicle":[
{
"vehicle_type":"Truck",
"car_make":"Lotus",
"car_model":"Esprit",
"quantity":7,
"seats":7,
"price_hour":16,
"price_day":147,
"color":[
"Purple",
"Pink",
"Blue",
"White"
]
}
]
}
要查看结构,可以使用https://jsoneditoronline.org/
2条答案
按热度按时间iyr7buue1#
我带来的答案使用select和regex:
和
为了清楚起见,我在书中留下了一个有效的例子https://rextester.com/bqzp48785
**对不起,我英语不好
q9rjltbz2#
为了确定蓝色车辆和suv车型,
jsonb_array_elements()
函数可以用于取消主数组的嵌套,然后(j.elm->>'vehicle_type') = 'SUV'
进入WHERE
第二条就足够了,而(j.elm->>'color')::jsonb ? 'Blue'
是否应使用包含jsonb转换的?第一个的接线员,自从(j.elm->>'color')
提取数组,而(j.elm->>'vehicle_type')
做简单的弦乐。因此不需要正则表达式,如以下查询:
和
演示