【发布时间】:2016-01-06 20:27:58
【问题描述】:
我正在尝试在我的 json 文件中搜索对象的值。
如果我的 json 文件是这样的:
[
{
"friendName": "Ann",
"birthday": "1990-04-19",
"favoriteColor": "Purple",
},
{
"friendName": "Max",
"birthday": "1993-10-07",
"favoriteColor": "Purple",
},
{
"friendName": "Bob",
"birthday": "1992-02-20",
"favoriteColor": "Red",
}
]
我怎么能做类似(伪)的事情:
if (object value is "Purple") {
print object value of friendName;
}
这样最终的结果就是
Ann
Max
我正在使用现代 C++ (https://github.com/nlohmann/json) 的 json 解析器 Json。我是 C++ 新手,所以我很难理解自述文件。我正在使用 Xcode(6.4 版)
我试过用这个:
// find an entry
if (o.find("foo") != o.end()) {
// there is an entry with key "foo"
}
但它似乎不起作用。如果我知道使用此代码的位置,我知道如何打印对象的值:
std::cout << obj[0]["friendName"];
这会导致:
Ann
另外,我还在寻找一种读取值的第一部分的方法。例如,如果我想列出生日在 1992 年期间或之后的人的姓名,它将打印:
Max
Bob
任何指导将不胜感激!
【问题讨论】: