2014-09-01 72 views
0

我已經text[]回到我plv8{1,32},我已經比較下面的JSON的裏面是什麼:認沽值到普通數組

'{"title":"Televisão em cores" 
    , "answers":[{"weight":0, "weight2":1, "title":"Não tem"} 
      , {"weight":1, "weight2":2, "title":"1"} 
      , {"weight":2, "weight2":4, "title":"2"} 
      , {"weight":3, "weight2":8, "title":"3"} 
      , {"weight":4, "weight2":16, "title":"4 ou +"}]}' 

我怎樣才能得到所有的名字weight2並將它們轉換爲text[]?像{1,2,4,8,16}

回答

1

對於單個jsonj了在Postgres 9.3:

SELECT ARRAY(SELECT json_array_elements(j->'answers')->>'weight2'); 

結果:

array 
{1,2,4,8,16} 

The manual has more.

+1

如果OP想要一個'文本[]'中,而不是一個'JSON []'數組,然後將' - >'weight2'換成' - >>'weight2' – 2014-09-02 12:01:39

+0

@ClodoaldoNeto:謝謝,' - >>'更適合這個問題。 – 2014-09-02 12:57:30