Json postgresql 9.4
问题描述:
我在尝试阅读PostgreSQL表中的json列时遇到问题。以下是表格说明。Json postgresql 9.4
task=# \d quots
Table "public.quots"
Column | Type | Modifiers
------------------+---------+-----------
items | json |
id | integer |
supplier_id | integer |
以下是表中的数据。
select items from quots limit 1;
items
-----------------------------------------------------------------------------------------------------------------------------------
[{"item1":[{"id":5,"name":"Item Name","unitPrice":{"original":10.0,"converted":10.0}}],"item2":{"id":75,"name":"Name"},"id":23653}]
现在,当我尝试查询并获取item1时,它返回空。
select items->'item1' from quots limit 1;
?column?
----------
(1 row)
任何线索?
的PostgreSQL 9.4.4 PSQL 9.4.4
答
JSON的值是一个数组。您可以使用items->0
选择其第一个元素:
select items->0->'item1' from quots limit 1;
?column?
------------------------------------------------------------------------------
[{"id":5,"name":"Item Name","unitPrice":{"original":10.0,"converted":10.0}}]
(1 row)
谢谢,它的工作。 upvoted并被标记为接受。再次感谢您的及时回应。 – sharafjaffri
当我尝试使用array_to_json(items-> 0 - >'item1')时,它会返回。错误:无法将数组解析为对象 – sharafjaffri
我无法在没有看到上下文的情况下帮助您。询问包含导致错误的数据的新问题。 – klin