2

使用 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("---");
}
4

2 回答 2

3

在您的代码index中必须是整数类型 - 这几乎就是错误消息所说的。JSON 数组始终是普通数组,关联的称为 JSON 对象。

例子:

foreach (size_t index, Json value; configuration["array1"]) {}

或者干脆

foreach (index, value; configuration["array1"]) {} // type inference

更新:更改intsize_t匹配实际 opApply 签名

于 2014-02-19T20:11:07.723 回答
0

出于某种原因,使用 ulong 作品。我猜这是一个错误?

foreach(ulong index, Json pluginToLoad; configuration["PluginsToLoad"])
于 2014-02-20T20:29:57.600 回答