【C++】問題解決: rapidjson::GenericValue<Encoding, Allocator>& rapidjson::GenericValue<Encoding, Allocator>::operator[](const rapidjson::GenericValue<Encoding, SourceAllocator>&) [with SourceAllocator = rapidjson::MemoryPoolAllocator<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>]: Assertion `false' failed.

前言

此為 C++ rapidjson 上遇到以下問題,個人的解決問題筆記

rapidjson::GenericValue<Encoding, Allocator>& rapidjson::GenericValue<Encoding, Allocator>::operator[](const rapidjson::GenericValue<Encoding, SourceAllocator>&) [with SourceAllocator = rapidjson::MemoryPoolAllocator<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>]: Assertion `false' failed.

解決方法:

「Assertion false failed.」,這行也代表著格式出現錯誤,
請再檢查 json 的 輸入/輸出格式是否有問題。

個人常用檢查方式 (網站) :

  • Json Parser Online http://json.parser.online.fr/
  • 能夠快速檢查是否 json 的格式是否有問題。

    reference

    [Solved] Rapidjson IsString assertion failure
    https://discuss.cocos2d-x.org/t/solved-rapidjson-isstring-assertion-failure/38711