d - 如何在 Vibe.D 中迭代 JSON 数组?

标签 d vibed

使用 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/

相关文章:

c++ - 使用dub输出C++可链接静态库

qt - 桌面 GUI 应用程序的垃圾收集语言

rest - D 中的 REST 框架有哪些选择?

mysql - SQL查询无法处理引号

http - Vibed:错误:411 需要长度

d - 开始使用 vibe.d

windows - D编程语言——无需按回车键输入

range - 尝试实现 zipWith

database - 使用 mysql-native 驱动程序连接到数据库后出现异常

mysql - 无法从 vibed 应用程序连接到 MySQL/MariaDB 数据库