如何解析 postgreql 中的 JSON

我的数据库中有一个表,其中包含字符变化列,该列包含 json。我需要编写一个查询,它将以某种方式将这个 json 解析为单独的列。

我发现 Json _ each功能 给你,但我不能理解如何与它工作。

102740 次浏览

我想通了,伙计们

如果我有桌子上的书 enter image description here

我可以很容易地写一个查询

SELECT
id,
data::json->'name' as name
FROM books;

它会导致

enter image description here

我也可以尝试得到不存在的专栏

SELECT
id,
data::json->'non_existant' as non_existant
FROM books;

在这种情况下,我将得到空结果

enter image description here

太棒了,谢谢你的分享,我发现你可以更深入一些,比如:

SELECT
id,
data::json->'name' as name,
data::json->'author' ->> 'last_name' as author
FROM books;