C++ 从json精神中获得价值
我使用的是Json Spirit库,但是我不确定如何从对象中读取值,而不迭代每个名称-值对 如果我的目标是:C++ 从json精神中获得价值,c++,json-spirit,C++,Json Spirit,我使用的是Json Spirit库,但是我不确定如何从对象中读取值,而不迭代每个名称-值对 如果我的目标是: { "boids": { "width": 10, "count": 5, "maxSpeedMin": 2, "maxSpeedMax": 80, "maxForceMin": 0.5, "maxForceMax": 40 } } 例如,如何通过名称访问宽度值?添加
{
"boids":
{
"width": 10,
"count": 5,
"maxSpeedMin": 2,
"maxSpeedMax": 80,
"maxForceMin": 0.5,
"maxForceMax": 40
}
}
例如,如何通过名称访问宽度值?添加了对std::map的支持,以便您可以查找值
json_spirit下载中的一个项目是json_map_演示。这将帮助您更好地理解它。这是可能的
下面是一个示例代码
string test = {
"boids":
{
"width": 10,
"count": 5,
"maxSpeedMin": 2,
"maxSpeedMax": 80,
"maxForceMin": 0.5,
"maxForceMax": 40
}
}
mValue value;
if(read(test, value))
{
mObject obj = value.get_obj();
obj = obj.find("boids")->second.get_obj();
/*Now the obj would contain the sub object,that is
{"width": 10,
"count": 5,
"maxSpeedMin": 2,
"maxSpeedMax": 80,
"maxForceMin": 0.5,
"maxForceMax": 40
}
*/
int nWidth = obj.find("width")->second.get_int();
“obj=obj.find(“boids”)->second.get_obj();”在运行时给出了一个错误。您需要定义一个新的mObject。