如何使用 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。
我刚开始在 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。