在Postgres

时间:2017-02-16 04:02:49

标签: json postgresql jsonb

我的jsonbfeeds包含以下形式的数据:

[{
  "id": 99999999,
  "lang": "pt",
  "entities": {
    "urls": [],
    "media": [{
      "id": 123456456,
      "type": "photo",
      "id_str": "123456456",
      "indices": [37, 59],
    }]
  },
  "favorited": false,
  "retweeted": false,
  "truncated": false
}]

如何查询第一个 media ->> id,因为它位于json数组中?所以结果是这样的:

   id             media_id
---------------------------
99999999         123456456

我尝试jsonb_array_elements但似乎无法获得我想要的输出,尤其是media嵌套在另一个数组中的部分。

2 个答案:

答案 0 :(得分:0)

想出来

Attribute

答案 1 :(得分:0)

select feeds::jsonb->0->>'entities'->>'media'->0->>'id' from table;