从JSON postgres数组中获取元素

时间:2018-10-30 16:37:42

标签: sql arrays json postgresql

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

,值看起来像:

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

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

类似这样的事情: “ whateverstring1 ”,“ whateverstring2

1 个答案:

答案 0 :(得分:4)

demo:db<>fiddle

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'给出元素的值