Cara mendapatkan data dari Json ke beberapa kolom PostgreSQL

Oct 05 2020

Saya ingin mengekstrak banyak objek (tidak semua objek) di JSON tetapi tidak ingin mengetik untuk setiap hal seperti ini:

Select *,  
metrics::json ->> 'spend',
metrics::json ->> 'impressions',
metrics::json ->> 'clicks'
from t1

Di sini DEMO saya menunjukkan data dan kasus nyata, cara mengekstrak ke beberapa kolom dan memasukkannya ke tipe data yang tepat (float, integer)

Saya merujuk pertanyaan ini , dapatkah saya menggunakan json_to_recorduntuk ini atau metode lain dan bagaimana?

Jawaban

1 BlueStar Oct 06 2020 at 05:44

Anda bisa menentukan kolom yang Anda inginkan dalam struktur pengembalian. Jadi jika Anda hanya tertarik pada "pembelanjaan" dan "tayangan", Anda bisa melakukannya

SELECT x.*
FROM t1, json_to_record(t1.metrics) 
AS x(spend numeric, impressions int);