如果第一个有错误,Rapidjson会解析另一个json

时间:2014-05-13 14:40:37

标签: c++ rapidjson

我是Rapidjson的新手,无法找到我想要的东西。问题是这样,说我有一个json,它有一个错误,无法解析。然后我想解析另一个json,它可以取代原来的json。但我想使用相同的rapidjson::Documet做到这一点,最终我需要在该文档中解析有效的json。

所以:

rapidjson::Document document;
if (document.Parse<0>("{ \"hello\" : \"wor........ ").HasParseError())
{
    // How to parse the correct json "{ \"hello\" : \"world\" }" here
    // using the same `document`
}

我应该写

if (document.Parse<0>("{ \"hello\" : \"wor........ ").HasParseError())
{
   document.Parse<0>("{ \"hello\" : \"world\" }"); 
}

1 个答案:

答案 0 :(得分:3)

是的,如果首先解析hes错误,那么使用相同的document解析另一个JSON是可以的,只要它清除该数据并重新解析。