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

时间:2018-04-12 08:43:46

标签: rpgle yajl

我刚刚开始探索在RPGLE中使用YAJL编写/解析JSON

我遇到的情况是我需要用值数组解析一个键

e.g。 { “键”:[值1,值2,值2]}

我看到解析对象数组的示例,即{“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来做到这一点。

先谢谢!! !!

1 个答案:

答案 0 :(得分: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