我有一个Postgres表,里面有一个JSON字段。这里有一些数据的例子:
"{\"client_id\": 1, \"garment_id\": \"14\", \"garment_model\": \"RG\", \"is_bottom\": false, \"options\": [{\"key\": \"size\", \"value\": \"S\"}]}"
"{\"client_id\": 1, \"garment_id\": \"33\", \"garment_model\": \"01\", \"options\": [{\"key\": \"size\", \"value\": \"M\"}]}"
我希望通过以下查询获得客户端ID列表:
SELECT payload->'client_id'
FROM garment LIMIT 10;
但是,我得到的不是client_id
值的列表,而是NULL
:
我也试过这个查询:
SELECT payload->>'\"client_id\"'
FROM garment LIMIT 10;
我的问题是:如何获得客户端ID列表的预期结果?
1条答案
按热度按时间elcex8rz1#
如果数据不是有效的JSON,或者字段不存在,那么你可以期待NULL。我会检查JSON的有效性。
如果任何值不是json类型,则意味着它们不是有效的JSON数据。