问题标签 [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.

0 投票
1 回答
137 浏览

c++ - 交叉编译错误 Visual Studio C++

我最近将我的 Windows C++ 应用程序转换为 Linux c++ 应用程序,并使用带有 Debian 的 Windows 子系统交叉编译到 Linux。但是,我通过使用nlohmann的 json 库得到以下错误

例如,在我在 json 元素和 double 之间使用运算符的任何地方都会出现此错误。举个例子:

这是给出上述错误的行。我应该明确说明json中的变量类型吗?我该怎么做?

0 投票
1 回答
828 浏览

c++ - C ++ Json Key变量问题

我的 json 对象转换代码有问题。我正在尝试编写一个接收向量的循环,如果向量有反转,则将其存储在 jSon 对象中。我遇到的唯一真正问题是正确的输出。在期望字符串时尝试将变量用作键值时出现错误。我的主要问题是如何将整数转换为字符串,以便代码接受并正确打印?

主要问题是在 emplace_back 行中,它不允许我使用 j 作为正确的键值,从而导致错误

所以我想我的问题是如何让它正确存储动态变量,然后我的代码输出这个

代替

感谢任何帮助,谢谢!

0 投票
2 回答
76 浏览

c++ - 使用用户输入创建 json 数据库

我需要创建我的 .json 数组,如下所示:

但我现在看起来像这样:

我现在用于用户输入的代码是这样的:

我已经搜索了一整天关于如何做到这一点,但我最接近的是它确实创建了上述数组但在输入后它会覆盖最后一个机场数据。

我正在使用 nlohmann json 库。

0 投票
2 回答
3853 浏览

python - C++ debug/print custom type with GDB : nlohmann json 库案例

我正在使用nlohmann 的 json C++ implementation进行项目。

如何在 GDB 中轻松探索 nlohmann 的 JSON 键/值?

我尝试使用这个STL gdb 包装,因为它提供了帮助来探索 nlohmann 的 JSON 库正在使用的标准 C++ 库结构。但是我觉得不方便。

这是一个简单的用例:

我想在 GDB 中拥有的东西:

当前行为

0 投票
1 回答
14803 浏览

c++ - 如何在 JSON 中为现代 C++ 迭代 JSON

我想遍历 json 对象中的每个条目,但是我一个接一个地收到一个难以理解的错误。如何更正以下示例?

错误:

以上是在沙箱中完成的

这不是我正在使用的实际代码,我只是想看看我是否能理解如何使用 JSON 完成各种基本的事情。

目前我了解得很少,以至于我不知道我所做的事情是否本质上是正确的,但只是因为一些愚蠢的事情而中断,或者我是否在做一些根本错误的事情。

0 投票
0 回答
481 浏览

c++ - 不能再在 std::unique_ptr 之间转换到 std::unique_ptr

因此,在将一些代码添加到 JSON 的(反)序列化之后,我在基类和派生类之间进行转换时遇到了问题。我正在使用 nlohmann JSON 库。作为背景,这里是一般的原始设置(在 JSON 代码之前):

在添加更改之前,以下断言有效:

接下来,我向我的基类和派生类添加了一些序列化函数,如下所示:

我还删除const了成员变量的所有量词,BaseDerived允许反序列化。

现在,编译后,static_assert上面的 's 不再起作用,并且出现以下错误。

任何帮助,将不胜感激。我发现唯一可行的解​​决方法是替换:

result = Foo(x);

result = std::unique_ptr<Base>(reinterpret_cast<Base *>(Foo(x).release()));

0 投票
1 回答
1090 浏览

c++ - 如何解决由于字符串到 json 转换而产生的异常?

我正在尝试使用 C++ 中 JSON 库的 nlohmann 框架来理解 JSON 到字符串和字符串到 JSON 的转换。但是,我遇到了生成异常的问题,我不明白生成它的原因。

以下是我从 nlohmann 框架中使用的代码。我尝试创建一个 JSON 对象“j_string”,添加属性“transformation_matrix”并向其添加相应的值,其类型为来自预定义变量“greetings”的字符串。现在我正在尝试从字符串转换为 JSON,然后对其进行解析并再次转换为字符串。基本上我试图通过 UDP 发送这些数据,这是我项目背后的全部想法。为此,我需要从字符串转换为 JSON,进行一些计算以提取某个属性的某个值,然后将其转换回字符串并通过 UDP 发送。当我尝试从字符串转换为 JSON 时,编译器出现异常。我正在使用 Visual Studio 2019。以下是生成的异常:

“jsoncpp2.exe 中 0x772718A2 处未处理的异常:Microsoft C++ 异常:内存位置 0x00E9F504 处的 nlohmann::detail::type_error。”

让我知道为什么会产生这样的异常。当我编译代码时,它说没有错误。但是,当我执行它时,我得到一个异常。我添加了必要的文件和标题。

我的预期结果是:

0 投票
1 回答
1142 浏览

c++ - 如何将 cpr 的 get 响应转换为 json 对象?

我一直在寻找一个易于理解的库,可以在 C++ 中发出 HTTP REST 请求,然后我遇到了 CPR。我成功地从服务器获得了响应,但我发现很难访问返回的 JSON 对象。

API 获取请求:

我试图像这样传递r.textnlohmann::json j = r.text;访问我想要的特定对象string xx = j["token"]; 正如预期的那样,它抛出了一个错误。

如果有人能告诉我如何实现我未能做到的事情,我将不胜感激。

编辑:添加参考

心肺复苏术:https ://www.codeproject.com/Articles/1244632/Making-HTTP-REST-Request-in-Cplusplus

nlohmann/json:https ://github.com/nlohmann/json

0 投票
2 回答
10899 浏览

c++ - C++:在项目中使用 nlohmann json

我正在尝试在我的 C++ 项目中使用nlohmann json 。从 github 下载压缩文件后,我提取了压缩文件。我将提取的文件夹重命名为,nlohmann_json然后将其复制到我的项目中。

github 文档说:

json.hpp 是 single_include/nlohmann 中的单个必需文件或在此处发布。您需要添加

所以在我的.cpp文件中,我有以下几行:

但 Visual Studio 2015 IDE 显示为工具提示以下消息:

命名空间 nlohmann 没有成员 json

只是输入后nlohmann::,我得到一个自动建议json_pointer但不是json

实际上出了什么问题?

0 投票
1 回答
1370 浏览

c++ - 如何在数组中添加对象成员?

我有这样的json文件。

使用 nlohmann。

我想找到“Fan 1”然后添加新对象。

我可以找到 Fans[] 的索引。

但我不知道如何添加对象。