使用 Vibe.D 库迭代 Json 数组的正确方法是什么?
我已经尝试过这个,但它给了我编译错误:
foreach(string index, Json value; configuration["array1"]) {}
这是错误:
Error: opApply() function for Json must return an int
完整代码:
foreach(int index, Json pluginToLoad; configuration["PluginsToLoad"]) {
import std.conv;
logInfo(to!string(index));
logInfo(pluginToLoad.get!string);
logInfo("---");
}
最佳答案
在您的代码中,index
必须是整数类型 - 这几乎就是错误消息所说的内容。 JSON 数组始终是普通数组,关联数组称为 JSON 对象。
示例:
foreach (size_t index, Json value; configuration["array1"]) {}
或者简单地
foreach (index, value; configuration["array1"]) {} // type inference
更新:将 int
更改为 size_t
以匹配实际的 opApply 签名
关于d - 如何在 Vibe.D 中迭代 JSON 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21881461/