簡體   English   中英

無法從Postgres中的JSON列中提取數據

[英]Unable to extract data from JSON column in Postgres

我有一個JSON列,如下所示。 我正在嘗試提取ID和標識符列(即,標識符1,標識符2,標識符3和標識符4)的值,但是我無法獲取數據。 下面給出的是我嘗試從中提取的JSON數據的示例。

[{"id": 5079, "identifier1": {"key": "ABC", "type": "identifier", "regex": null}, 
"identifier2": {"key": 123, "type": "identifier", "regex": null}, 
"identifier3": {"key": XYZ, "type": "identifier", "regex": null}, 
"identifier4": {"key": ABC, "type": "identifier", "regex": null}}]

該列的數據類型為JSONB DB:Postgres ColumnName:jsondata

我嘗試了以下查詢,但返回了空輸出

select
    jsondata ->> 'id',
    jsondata -> 'identifier1' ->> 'key'
from Customer;

任何人都可以幫助我如何提取它。 謝謝

我不確定我是否正確回答了您的問題,但是我想您正在尋找的是這樣的東西:

SELECT 
  json_array_elements(jsondata)->>'id' AS id,
 (json_array_elements(jsondata)->>'identifier1')::json ->> 'key'  AS key1,
 (json_array_elements(jsondata)->>'identifier2')::json ->> 'key'  AS key2,
 (json_array_elements(jsondata)->>'identifier3')::json ->> 'key'  AS key3,
 (json_array_elements(jsondata)->>'identifier4')::json ->> 'key'  AS key4
from Customer;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM