2017-02-16 5 views
0

の配列が、私はこの形式のデータとjsonbfeeds持っている:それはJSON配列でありますので、私は最初media ->> idを照会するにはどうすればよいは、ネストされたJSONを平坦化[B]のPostgres

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

を?結果は次のようになるように:

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

私はjsonb_array_elementsを試みたが、私が欲しいの出力、mediaが別の配列内にネストされ、特にパートを取得するように見えることはできません。

答えて

0

SELECT 
    jsonb_array_elements(feeds)->>'id', 
    (((jsonb_array_elements(feeds)->'entities')->'media')->0)->>'id' as media 
FROM mytable 
0
select feeds::jsonb->0->>'entities'->>'media'->0->>'id' from table; 
をそれを考え出しました
関連する問題