Получение значения от JSON-Spirit
Я использую библиотеку Json-Spirit, однако я не уверен, как читать значение из объекта, не перебирая каждую из пар имя-значение.
Если у меня есть такой объект, что:
{
"boids":
{
"width": 10,
"count": 5,
"maxSpeedMin": 2,
"maxSpeedMax": 80,
"maxForceMin": 0.5,
"maxForceMax": 40
}
}
Как я могу получить доступ, например, к width
значение по имени?
2 ответа
Решение
В json_spirit добавлена поддержка std::map, чтобы вы могли найти значение.
Один из проектов в json_spirit - это json_map_demo. Это поможет вам лучше понять это.
Это возможно.
Пример кода ниже.
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();