从JSON数据增强访问浮点数组

问题描述

| 我有一些通过boost收集的JSON数据,但无法解决如何访问数组中的某些数据的问题: JSON数据:{\“ dvm_gnd \”:{\“ num \”:4,4,“ value \”:[1,2,3,4]},\“ xx_gn \”:{\“ num:1,\ “ value \”:5}} 我可以使用以下命令轻松获取\“ num \”和单个\“ value \”(5):
BOOST_FOREACH(ptree::value_type &v,pt) {
  float value = v.second.get<float>(\"value\")
}
但是我不知道如何访问数组的元素? ptree.get()返回什么? 谢谢 罗斯     

解决方法

尝试这个:
BOOST_FOREACH(ptree::value_type &v,pt.get_child(\"dvm_gnd.value\")) {
  float value = v.second.data();
}
    ,我确定您现在已经前进了,但是如果其他人遇到了这种情况,ptree会将这些数组值作为带有空白名称的子代放置,因此您想要的代码如下所示:
BOOST_FOREACH(const ptree::value_type &v,pt.get_child(\"dvm_gnd.value\")) {
  float value = v.second.get<float>(\"\");
}
或者您可以使用get的可选或默认值版本     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...