问题标签 [nlohmann-json]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 将 nlohmann fifo_map 与基类和派生类一起使用
我目前正在尝试使用有序键生成 JSON,因此使用了一种解决方法。但是,如果我尝试在我的基类和派生类中使用它,我会收到一个我不太理解的错误。它似乎无法调用 to_Json 方法(因为如果我尝试将 DerivedClass-instance(test 和 test2)映射到 my_json.
我已经尝试过没有有序键的示例(只需使用 json = nlohmann::json;),它工作得很好。输出中的键按字母顺序排序,如下所示:
我试图通过使用 nlohmann fifo_map 实现的是保持插入顺序,因此最终输出应如下所示:
执行以下代码会输出两个错误:
请看下面的代码:
在 BaseClass.h 中:
在 DerivedClass.h 中:
在 main.cpp 中:
c++ - 从 Visual Studio 中间窗口调用方法 nlohmann::json::dump
我正在尝试将对象从类型转储nlohmann::json
为来自 Visual Studio 调试器的可读字符串值。因此,为了从nlohmann::json
实例调用转储方法,我使用了 Visual Studio 中间窗口。
too few arguments in function call
但是,尽管我完全按照我应该的方式调用它,但似乎这种方法运行得不好并返回错误。此外,如果我尝试将其输出设置为新的 std::string 类型,调试器将无法识别它。
知道如何正确地做到这一点吗?
c++ - 读取 Json 来反对
我目前正在尝试将 json 文件读入一个对象。我使用的 nlohmann-json 版本是 3.7.3。我遵循了该文档中的示例代码,如下所示
我的实现是有一个返回 json 对象的简单函数,所以很简单:
我收到以下错误no operator ">>" matches these operands operand types are: json >> std::ifstream
所以我做了一些调查,在 3.7.3 版本中不再使用这种方式。我也研究json.parse
过使用,但效果不佳。
对 nlohmann-jsonversion 3.7.3 执行此操作的最新方法是什么?我在将 json 写入文件时也遇到了类似的问题
这是我写的一个最小的可重现示例,它给了我同样的错误;
c++ - nlohmann json 对索引向量使用 .at() 方法
我使用 nlohmann json 库已经有一段时间了,但我最近发现自己遇到了一个问题。我有一个对象的索引向量:
我想做这样的事情:
我怎样才能做到这一点?
我试过这个:
但这不起作用,因为它没有访问嵌套元素,它只是将对象设置为嵌套值。
c++ - 使用 nlohmann json 包从 json 转换时出错
我正在尝试转换表单的 json
我的对象是
正在使用模板,因为内容的结构不固定。当我尝试使用 from_json 就像
我收到错误
[json.exception.out_of_range.403] 未找到密钥“内容”
虽然 json 中有内容键。为什么会这样?
上面的代码是一个最小可重现的例子
c++ - nlohmann json,在嵌套结构之间转换
我正在使用带有嵌入式项目的nlohmann json(现代 C++ 的 JSON) 。操作系统是猫鼬操作系统。Mongoose 有一个很好的配置系统,其中配置数据在 mos.yml 文件中进行处理和布局。该文件在构建时被转换为结构和访问器函数。因此,我可以将配置数据作为一个结构获取,其中包含其他嵌套结构。我需要将其转换为 JSON。
我的理解是 nlohmann::json 能够将 JSON 转换为我自己的类型,我所要做的就是提供to_json()
和from_json()
方法,如下所述:
此示例代码非常简单:
但是给出的例子非常简单。我的类型更复杂,我无法弄清楚更复杂结构的语法,比如这个(为了简洁而摘录):
如果有人可以告诉我它是如何完成的或指出正确的方向,将不胜感激,谢谢。
drake - 在德雷克中使用 nlohmann/json 的 C++ 版本冲突
我最近发现 nlohmann/json 在 C++ 11 上运行。否则,由于使用更高 C++ 版本的不推荐行,它会给出一些语法错误。
通过使用关键术语,我能够使用 nlohmann 运行普通的 c++ 文件
但是,如果我将 drake 合并到我的示例中,它不会运行(很可能是由于 C++ 版本低)
为了测试 nlohmann/json,我在他们的github 页面上获取了位于 json/single_include/nlohmann/json.hpp 下的 json.hpp 文件。我确保#include json 文件。
有没有一种简单的方法可以将 nlohmann/json 或任何其他类型的 json 阅读器合并到 drake 中?
c++ - 使用 nlohmann JSON C++ 库验证文件中是否存在 JSON 对象
我有一个项目,我在其中导入 JSON 文件来设置全局变量。文件中的 JSON 对象名称有多种可能性,所以我想知道如何检查对象是否存在。我尝试这样做的方式(使用如下所示的 if 语句)导致错误
所以它根本不起作用。有没有办法做到这一点?谢谢!