我正在为现代C ++使用json解析器Json(https://github.com/nlohmann/json)。我知道我可以使用JSON_Pointer获得JSON值的值:
auto v1 = j["/a/b/c"_json_pointer];
但是,如果在运行时定义了JSON指针(传递到我的函数中),我将如何获取值?
std:string s1 = "/a/b/c";
auto v1 = j[s1]; // doesn't work
Run Code Online (Sandbox Code Playgroud)
您不能将“ json_pointer”附加到std :: string赋值或s1变量。是否有将std :: string转换为json_pointer的函数?调用者对json一无所知,并且无法访问“ json.hpp”标头。我也尝试过
std::string s1 = "/a/b/c";
json_pointer p1(s1);
Run Code Online (Sandbox Code Playgroud)
但“ json_pointer”类未定义。除了这个问题,这是一个很棒的库,可以完成我需要做的所有其他事情。TIA。