问题标签 [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++ - C++:使用 nlohmann json 从文件中读取 json 对象
我正在使用 nlohmann 的 json 库来处理 c++ 中的 json 对象。最终,我想从文件中读取一个 json 对象,例如像这样的一个简单对象。
我不太确定如何解决这个问题。在https://github.com/nlohmann提供了几种从字符串文字反序列化的方法,但是将其扩展为读取文件似乎并不简单。这个事情谁有经验?
c++ - C++ nlohmann/json 如何使用运行时提供的 json_pointers 来读取 json 值
我正在使用现代 C++ 的 json 解析器 Json ( https://github.com/nlohmann/json )。我知道我可以使用 JSON_Pointer 获取 JSON 值的值:
auto v1 = j["/a/b/c"_json_pointer];
但是,如果 JSON 指针是在运行时定义的(传递到我的函数中),我将如何获取值?
您不能将“json_pointer”附加到 std::string 分配或 s1 变量。是否有将 std::string 转换为 json_pointer 的函数?调用者对 json 一无所知,无法访问“json.hpp”标头。我也试过
但“json_pointer”类未定义。除了这个问题,这是一个很棒的库,可以做我需要的一切。TIA。
c++ - 如何使用 nlohmann::json 将 json 对象转换为地图?
例如,使用 nlohmann::json,我可以做到
但我做不到
有什么方法可以使用 nlohmann::json 将 json 对象转换为地图?
c++ - C++ - 将 JSON 或数组从它转换为向量
我正在使用https://github.com/nlohmann/json将 JSON 文件加载到我的程序中。
此刻,我正在加载它:
我可以通过以下方式访问它:
但我想从中创建向量 - 我该怎么做?
这是此文件的示例:
c++ - 将 valijson 与 Nlohmann's JSON for Modern C++ 一起使用来验证具有子模式的模式
可以使valijson 与Nlohmann 的json 解析器一起使用,以从引用其他文件中的子模式的文件中读取模式吗?
我在最后一行收到 std::runtime_error 。
c++ - nlohmann::json 如何实现漂亮的反序列化语法?
nlohmann::json 如何实现漂亮的反序列化语法?
从语法上讲,它似乎是错误的。但它确实有效。这里有什么技巧吗?
c++ - 使用 CMake 添加仅标头依赖项
我有一个简单的项目,它需要三个仅标头库才能编译:websocketpp、spdlog和nlohmann/json。
项目结构如下所示:
根 CMakeLists.txt 如下:
这个想法基本上是每个子目录都是一个库(例如core
),并且app
“聚合”了所有子目录。每个库(例如core
)都是这样构建的(core/CMakeLists.txt
):
请注意我如何链接依赖项(它们是仅标头库!)。这就是我获取它们的方式(vendor/install.cmake
):
到目前为止一切顺利:您可以看到依赖项是作为 git 子模块获取的,幸运的是,这使得管理它们变得更容易。但是,当我使用 编译我的项目时mkdir build && cd build && cmake ../src
,出现以下错误:
CMake 错误:安装(EXPORT FooCoreConfig ...)包括目标 foo-core,它需要不在导出集中的目标 websocketpp。
CMake 错误:安装(EXPORT FooCoreConfig ...)包括目标 foo-core,它需要不在导出集中的目标 spdlog。
包括标头,例如#include <spdlog/spdlog.h>
或#include <nlohmann/json.hpp>
产生错误,指出标头未找到。
说实话,我对 CMake 不太满意,过去两天我一直在调试它。这可能是非常简单的事情,但我不知道如何实现它。实际上,只需将 -I 作为编译器标志传递即可使用我想要的库,但 CMake 抽象似乎让我感到困惑。如果有人能解释为什么这不起作用,我会很高兴,并且希望将这些库包含到我的项目中的正确方法是什么。提前致谢!
c++ - 根据输入变量创建 JSON 结构
我有以下 JSON 文件:
我将使用此信息创建一个新的 JSON 文件,其尺寸由outer_size
、inner_size
和. 我要生成的结构有以下形式length_one
length_two
此结构包含两个“外部”变量a
,b
因为outer_size=2
.
a
包含两个“内部”变量a_one
和a_two
,而b
包含一个“内部”变量b_one
。这是因为inner_size
分别是 2 和 1。
问题基于给定outer_size
的inner_size
、length_one
和length_two
,生成具有这些维度的 JSON 结构的最佳方法是什么?可以/应该用类来完成吗?
请注意以下事项
- 的值
outer_size
必须始终等于length_XX
-specifications 的数量(在上面的示例 2 中)。如果是 3,我们也必须指定length_three
。 a_one
等的具体值a_ two
可以是本例中的任何值。现在我主要关心的只是构建基本结构。- 我正在使用 Nlohmann 的 JSON 库来读取初始 JSON 文件。
c++ - 用于现代 C++ 线程的 JSON 安全吗?
我正在使用一个名为“现代 C++ 的 JSON”( https://github.com/nlohmann/json ) 的库,它非常漂亮,让我可以通过与 Javascript 服务器端应用程序共享的 C++ 程序使用 JSON 配置文件。该库本质上创建了另一种数据类型,该数据类型的访问和操作方式与 Javascript JSON 对象非常接近。
我的问题是,我是否需要关注 JSON 变量访问和操作的线程安全性,或者我是否可以相信该库是线程安全的。我查看了文档,我没有看到它说它是线程安全的,但我也没有看到任何地方说它不是线程安全的。
有其他人在多线程环境中使用这个库吗?您需要自己保护它还是图书馆保护自己。也许我真的很幸运,存储库作者 nlohmann 会直接回答!
任何帮助是极大的赞赏!
c++ - 为什么我不能使用 [] 运算符访问 nlohmann 的 C++ JSON 库中的数组?
我将这个JSON 库用于 C++,以便从 Twitter 的 API 获取信息,该 API 将 JSON 数组返回给我的程序(我存储在 responseData 中)。但是当我尝试访问返回数组中的“名称”时,它不允许我访问。
这是进程终止后我得到的错误:
这是我正在处理的代码部分: