如何使用 YAJL RPGLE 检索具有值数组的 JSON 键

How to retrieve JSON key having array of values using YAJL RPGLE

我刚开始在 RPGLE

中使用 YAJL 探索 writing/parsing JSON

我遇到了一种情况,我需要用值数组解析一个键

例如{"key":[value1,value2,value2]}

我看到了解析对象数组的示例,即 { "key" : [ {"k1":"v1"}, {"k2":"v2"} , {"k3":"v3"} ] }

list = YAJL_object_find(docNode: 'key');
i = 0;
dow YAJL_ARRAY_LOOP( list: i: node );
  val = YAJL_object_find(node: 'k1');
  value1 = yajl_get_string(val);
enddo;

但不适用于单个键的值数组。知道我们如何在 RPGLE 中使用 YAJL 来做到这一点。

提前致谢..!!

这只是删除示例中的一行并进行小修改的问题。您无需在数组循环中查找对象,因为您已经拥有相关值。

list = YAJL_object_find(docNode: 'key');
i = 0;
dow YAJL_ARRAY_LOOP( list: i: node );
  value1 = yajl_get_string(node);
enddo;

如果您使用的是最新版本的 IBM i(截至本评论为 7.3 TR4),您可能应该考虑使用 DATA-INTO RPG opcode or if you want it in a relational format, you can use SQL JSON_TABLE