1

我刚刚开始探索在 RPGLE 中使用 YAJL 编写/解析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;

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

提前致谢..!!

4

1 回答 1

1

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

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 操作码,或者如果您希望它采用关系格式,则可以使用 SQL JSON_TABLE

于 2018-04-12T17:24:37.910 回答