rapidjson使用问题小计

xiaoxiao2021-02-27  202

rapidjson::StringBuffer buffer;

rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);

 

rapidjson::Document bid_response; bid_response.SetObject();

......

 

对多个json value或document 多次使用 bid_response.Accept(writer) ,writer值声明定义了一个会导致程序core:

#0  0x00007f05a0412625 in raise () from /lib64/libc.so.6 #1  0x00007f05a0413e05 in abort () from /lib64/libc.so.6 #2  0x00007f05a040b74e in __assert_fail_base () from /lib64/libc.so.6 #3  0x00007f05a040b810 in __assert_fail () from /lib64/libc.so.6 #4  0x0000000001352821 in rapidjson::Writer<rapidjson::GenericStringBuffer<rapidjson::UTF8<char>, rapidjson::CrtAllocator>, rapidjson::UTF8<char>, rapidjson::UTF8<char>, rapidjson::CrtAllocator>::Prefix (     this=0x7f0558028380, type=rapidjson::kObjectType) at netgo/thirdparty/rapidjson-1.0.2/include/rapidjson/writer.h:332 #5  0x000000000134e472 in rapidjson::Writer<rapidjson::GenericStringBuffer<rapidjson::UTF8<char>, rapidjson::CrtAllocator>, rapidjson::UTF8<char>, rapidjson::UTF8<char>, rapidjson::CrtAllocator>::StartObject (     this=0x7f0558028380) at netgo/thirdparty/rapidjson-1.0.2/include/rapidjson/writer.h:135 #6  0x000000000134b09b in rapidjson::GenericValue<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator> >::Accept<rapidjson::Writer<rapidjson::GenericStringBuffer<rapidjson::UTF8<char>, rapidjson::CrtAllocator>, rapidjson::UTF8<char>, rapidjson::UTF8<char>, rapidjson::CrtAllocator> > (this=0x7f05580287f0, handler=...) at netgo/thirdparty/rapidjson-1.0.2/include/rapidjson/document.h:1491

 

rapidjson::Writer<rapidjson::StringBuffer> 不可多次accept? 原因待究。

转载请注明原文地址: https://www.6miu.com/read-10738.html

最新回复(0)