从 PostGreSQL jsonb 列中提取键值对?

Extracting key-value pair from PostGreSQL jsonb column?

我有一个 postgresql 数据库,其中有一列包含 jsonb 对象。

我遇到过需要从我的 json 对象中提取单个键值对的情况。我目前不知道,也无法找到有关如何完成此操作的任何示例。

我有以下 table:

----------------------------------------------
| id | did | timestamp | data | db_timestamp |
----------------------------------------------

数据列是我的 json 对象,它包含的一个示例是:

{"n": 336372148490, "ac": 22.0, "al": 119.0, "be": 346.3, "la": 55.69707492, "lo": 12.58713834, "sa": 5, "sp": 2.6100767, "provider": "gps"}

所以我想做的是编写一个查询,在其中查找单个键值对。我目前有以下查询,

SELECT data WHERE did = '357139052424715' and timestamp < 1466642640000

我想提取单个键值对。如何将上述查询更改为仅提取 "la": 55.69707492

您可以这样做:

SELECT data->>'la' WHERE did = '357139052424715' and timestamp < 1466642640000

有关更多示例,请参阅:

http://clarkdave.net/2013/06/what-can-you-do-with-postgresql-and-json/