Как добавить элемент в объект quickjson, а затем распечатать его?
например добавить
itemtwo => "world" ;
к этому объекту:
{"itemone":"hello"}
Я старался
char buff[] = "{\"itemone\":\"hello\"}";
rapidjson::Document json_obj;
if(json_obj.Parse<0>(buff.c_str()).HasParseError() == false){
json_obj["itemtwo"].SetString("world");
rapidjson::StringBuffer strbuf;
rapidjson::Writer<rapidjson::StringBuffer> writer(strbuf);
json_obj.Accept(writer);
cout<<strbuf.GetString()<<endl;
}
Я получаю следующий вывод:
{"itemone":"hello"}
Смысл без изменений.
Что я делаю неправильно?
json_obj["itemtwo"]
можно найти только участника с таким именем, которого не существует. Это не создает новую запись (как в std::map
).
Чтобы манипулировать объектами, используйте AddMember()
и другие связанные функции-члены, например,
json_obj.AddMember("itemone", "hello", json_obj.GetAllocator());
Вы можете обратиться к быстрое руководство пользователя и / или tutorial.cpp в пакете.
Других решений пока нет …