我刚刚开始探索在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来做到这一点。
先谢谢!! !!
答案 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