RapidJSON库获取没有名称字段的值

时间:2012-12-07 18:28:22

标签: c++ json

我们从某个合作伙伴的api获得了类似于以下的json回复。

[
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName": "Jones" }
]

当我们尝试通过rapidjson lib进行解析时,解析没有返回任何错误,但我们不确定如何在没有数组上的name字段的情况下从document获取值。任何人有任何想法处理它?

1 个答案:

答案 0 :(得分:0)

std::string s("[ { \"firstName\":\"John\" , \"lastName\":\"Doe\" }, "
              "  { \"firstName\":\"Anna\" , \"lastName\":\"Smith\" }, "
              "  { \"firstName\":\"Peter\" , \"lastName\": \"Jones\" } ]");

rapidjson::Document doc;
doc.Parse<0>(s.c_str());

for (rapidjson::SizeType i = 0; i < doc.Size(); i++)
    printf("\n%u: %s %s", i + 1, doc[i]["firstName"].GetString(), doc[i]["lastName"].GetString());