如何从 json 对象中获取密钥

Posted

技术标签:

【中文标题】如何从 json 对象中获取密钥【英文标题】:How to get keys from json object 【发布时间】:2021-03-12 15:00:16 【问题描述】:

我正在尝试使用 DB2 (IBM i) 上的 SQL 从 json 对象中提取键。

考虑以下示例:

 
  "assignments": 
    "uuIdKey1": ...,
    "uuIdKey2": ...,
    "uuIdKey3": ...
  

我想以某种方式提取“uuIdKey1”、“uuIdKey2”和“uuIdKey3”。 使问题复杂化的是,密钥的编号和名称都是未知的(因为 json 是 open type)。

这可能在 DB2 上使用 SQL 吗?

【问题讨论】:

什么 Db2 平台和版本?您是否将 Db2 JSON 支持与 JSON_QUERY 一起使用? DB2 在 IBM i (AS400) 上运行。不幸的是,我不确定它是什么版本的 DB2,但它确实支持 JSON_QUERY。 【参考方案1】:

虽然我没有找到在 DB2 上仅使用 SQL 从 json 获取密钥的解决方案,但我能够通过使用 YAJL library for RPG 来解决该问题。

该库的YAJL_OBJECT_LOOP( docNode: i: key: val ) 函数允许您循环遍历所有 json props 并一一检索 json 键。

【讨论】:

以上是关于如何从 json 对象中获取密钥的主要内容,如果未能解决你的问题,请参考以下文章

仅当特定密钥对值与可迭代匹配时,才在 JSON 对象中获取多个 JSON 密钥对值

如何使用 iPhone 中的密钥从 JSON 中获取数据

如何从json字符串中获取值

如何从 Hive 盒对象中获取密钥并将其映射到对象的特定字段?

从配置单元中的 JSON 数组获取 JSON 密钥时面临的问题

密钥未知时获取对象?