如何从Json获得价值

时间:2014-10-24 18:11:55

标签: c++ json jsoncpp

我需要从具有toJson()的Json AdSpot获取值(String或int),我需要通过键检索字段" ext" (它也是一个Json),然后按键检索字段" isBanner"来自分机的Json值

这是Json AdSpot:

AdSpot(OpenRTB::Impression && imp)
    : OpenRTB::Impression(std::move(imp))
{
}

void fromJson(const Json::Value & val);
Json::Value toJson() const;

我尝试使用get,但不知道在默认值的参数中传递什么。

1 个答案:

答案 0 :(得分:1)

您可以从jsoncpp documentation找到答案 从Json :: Value,您可以使用

将其作为字符串
  

std :: string asString()const

或使用

作为整数
  

Int asInt()const

然后您的问题中的JSON导航可以通过以下方式完成:

Json::Value extValue = value["ext"];
Json::Value isBannerValue = extValue["isBanner"];
std::string isBanner = isBannerValue.asString();

如果无法施放,则会引发异常。