使用json提取在json数组中的所有对象中查找

bqf10yzr  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(553)

如何使用json提取来查看数组中的所有对象?如果你知道钥匙的话,它是有效的,但我想看看每一个物体,找到一个匹配的。

$.features[0].properties.TMPRIV_ID

如何让它工作?

$.features[*].properties.TMPRIV_ID
carvr3hs

carvr3hs1#

你已经用mysql和sqlite标记了这个,所以我将掷硬币并给出sqlite的答案。
基本上,您需要从 json_each() 行值函数来迭代数组的每个元素,以及一个where子句来过滤您想要的内容(where就是where) json_extract() 发挥作用):

sqlite> SELECT value FROM
  json_each('[{"name":"cat","type":"mammal"},{"name":"parrot","type":"bird"},{"name":"dog","type":"mammal"}]')
  WHERE json_extract(value, '$.type') = 'mammal';
value                         
------------------------------
{"name":"cat","type":"mammal"}
{"name":"dog","type":"mammal"}

如果希望结果作为json数组而不是一组行,请使用 json_group_array() 聚合函数: SELECT json_group_array(value) FROM ...

相关问题