首页 > 解决方案 > 从 JSON postgres 数组中获取元素

问题描述

我有一个数据类型为 x 的列jsonb

值如下:

[  
    [{"string":"whateverstring1"}],
    [{"string":"whateverstring2"}]
]

如何返回数组的每个元素?

像这样的东西:“ whateverstring1 ”,“ whateverstring2

标签: sqlarraysjsonpostgresql

解决方案


演示:db<>小提琴

SELECT jsonb_array_elements(jsonb) -> 0 -> 'string' 
FROM (
    SELECT '[[{"string":"whateverstring1"}],[{"string":"whateverstring2"}]]'::jsonb
) s
  1. jsonb_array_elements将每个元素提取到一行中
  2. -> 0给出嵌套数组的第一个元素,即{"string":"whateverstring1"}
  3. -> 'string'给出元素的值

推荐阅读