rapidjson 是一個 c++ 的快速 json 解析器和生成器,使用 sax/dom 風格的 api 設計。
示例代碼:
主要特點:
rapidjson是一個c++的json解析器及生成器。它的靈感來自rapidxml。
rapidjson小而全。它同時支援sax和dom風格的api。sax解析器隻有約500行代碼。
rapidjson快。它的性能可與strlen()相比。可支援sse2/sse4.1加速。
rapidjson獨立。它不依賴于boost等外部庫。它甚至不依賴于stl。
rapidjson對記憶體友好。在大部分32/64位機器上,每個json值隻占16或20位元組(除字元串外)。它預設使用一個快速的記憶體配置設定器,令分析器可以緊湊地配置設定記憶體。
rapidjson對unicode友好。它支援utf-8、utf-16、utf-32 (大端序/小端序),并内部支援這些編碼的檢測、校驗及轉碼。例如,rapidjson可以在分析一個utf-8檔案至dom時,把當中的json字元串轉碼至utf-16。它也支援代理對(surrogate pair)及"\u0000"(空字元)。