使用下面的代码,我们能够从JSON文件的第一个节点访问第一个数据,但是我们想读取下面JSON文件中的所有值。请提供您对此问题的投入。

typedef boost::property_tree::ptree TreeNode; TreeNode根; boost::property_tree::json_parser::read_json(std::string(igIntObj_XLS.buffer),root); if(root.size()我想从json文件下面仅读取“” 数据值:0,7 ”:
[
{
“id”:1
“orderNum”:1
“标题”:“主要社会经济指标”,
“字幕”:null,
“isVisible”:是,
“regionId”:741880,
“数据”:[
{
“id”:629147,
“orderNum”:1
“title”:“人口”,
“subtitle”:“(1.12.2019,千人)”,
“dataValue”:“18611,1”,
“icon”:“naselenie.png”,
“isVisible”:是
},
{
“id”:629148,
“orderNum”:2
“title”:“GDP”,
“副标题”:“((2019年1月至9月,%)”,
“dataValue”:“104,3”,
“icon”:“vvp.png”,
“isVisible”:是
},
{
“id”:629149,
“orderNum”:3,
“title”:“通货膨胀”,
“副标题”:“(每2019年12月至2018年12月,%)”,
“dataValue”:“5,4”,
“icon”:“inflation.png”,
“isVisible”:是
},
{
“id”:629150,
“orderNum”:4
“title”:“通货膨胀”,
“副标题”:“(从2019年12月至2019年11月,%)”,
“dataValue”:“0,7”,
“icon”:“inflation.png”,
“isVisible”:是
},
{
“id”:629151,
“orderNum”:5
“title”:“失业率”,
“subtitle”:“((2019年12月,%,估算数据)”,
“dataValue”:“4,8”,
“icon”:“bezrabotica.png”,
“isVisible”:是
},
C++

最佳答案

我的建议是:不要。

标准库具有轻松实现此目的的工具。老学生可能只会使用sscanf:

char input[] = "27/01/2020";

int day, month, year;

sscanf(input, "%d/%d/%d", &day, &month, &year);

如果您喜欢流,则可能更喜欢get_time操纵器:
std::stringstream input("27/01/2020");

tm date;

input >> std::gettime(&date, "%d/%m/%Y");

...然后date.tm_mday将包含27date.tm_month将包含01,而date.tm_year将包含120(即年份-1900)。

如果您确实想要(或需要)使用iGlib::Trim,则可能必须查阅该库的文档-似乎不是一个众所周知的文档(这是为什么我建议避免使用它的一部分)。

09-11 07:16
查看更多