C++;nlohmann/json如何使用运行时提供的json_指针读取json值 我使用JSON解析器JSON为现代C++()。我知道我可以使用JSON_指针获取JSON值的值:

C++;nlohmann/json如何使用运行时提供的json_指针读取json值 我使用JSON解析器JSON为现代C++()。我知道我可以使用JSON_指针获取JSON值的值:,c++,json,nlohmann-json,C++,Json,Nlohmann Json,autov1=j[“/a/b/c”\u json\u指针] 但是,如果JSON指针是在运行时定义的(传递到我的函数中),我将如何获取该值呢 您不能将“json_指针”附加到std::string赋值或s1变量。是否有一个函数可以将std::string转换为json_指针?调用方对json一无所知,无法访问“json.hpp”头。我也试过了 std::string s1 = "/a/b/c"; json_pointer p1(s1); 但“json_指针”类未定义。除了这个问题,这是一个伟大的

autov1=j[“/a/b/c”\u json\u指针]

但是,如果JSON指针是在运行时定义的(传递到我的函数中),我将如何获取该值呢

您不能将“json_指针”附加到std::string赋值或s1变量。是否有一个函数可以将std::string转换为json_指针?调用方对json一无所知,无法访问“json.hpp”头。我也试过了

std::string s1 = "/a/b/c";
json_pointer p1(s1);

但“json_指针”类未定义。除了这个问题,这是一个伟大的图书馆,做我需要的一切。TIA.

查看源代码:

inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t)
{
    return nlohmann::json::json_pointer(s);
}
如果json_指针未定义,则说明您没有使用正确的名称空间。试一试

using nlohmann::json::json_pointer;
std::string s1 = "/a/b/c";
json_pointer p1(s1);

我发誓这是我尝试过的第一件事,我不会编译。只要再试一次,效果就很好。谢谢你的快速和非评判性的回答。没问题。下一次尝试建立一个。有一半的时候,当我遇到一个问题时,我只是通过首先构建一个来解决它。
using nlohmann::json::json_pointer;
std::string s1 = "/a/b/c";
json_pointer p1(s1);