1e462795ff5d4c7359f9e8637c10544bb2de70107tturney// JSON condenser example 2e462795ff5d4c7359f9e8637c10544bb2de70107tturney 3e462795ff5d4c7359f9e8637c10544bb2de70107tturney// This example parses JSON text from stdin with validation, 4e462795ff5d4c7359f9e8637c10544bb2de70107tturney// and re-output the JSON content to stdout without whitespace. 5e462795ff5d4c7359f9e8637c10544bb2de70107tturney 6e462795ff5d4c7359f9e8637c10544bb2de70107tturney#include "rapidjson/reader.h" 7e462795ff5d4c7359f9e8637c10544bb2de70107tturney#include "rapidjson/writer.h" 8e462795ff5d4c7359f9e8637c10544bb2de70107tturney#include "rapidjson/filereadstream.h" 9e462795ff5d4c7359f9e8637c10544bb2de70107tturney#include "rapidjson/filewritestream.h" 10e462795ff5d4c7359f9e8637c10544bb2de70107tturney#include "rapidjson/error/en.h" 11e462795ff5d4c7359f9e8637c10544bb2de70107tturney 12e462795ff5d4c7359f9e8637c10544bb2de70107tturneyusing namespace rapidjson; 13e462795ff5d4c7359f9e8637c10544bb2de70107tturney 14e462795ff5d4c7359f9e8637c10544bb2de70107tturneyint main(int, char*[]) { 15e462795ff5d4c7359f9e8637c10544bb2de70107tturney // Prepare JSON reader and input stream. 16e462795ff5d4c7359f9e8637c10544bb2de70107tturney Reader reader; 17e462795ff5d4c7359f9e8637c10544bb2de70107tturney char readBuffer[65536]; 18e462795ff5d4c7359f9e8637c10544bb2de70107tturney FileReadStream is(stdin, readBuffer, sizeof(readBuffer)); 19e462795ff5d4c7359f9e8637c10544bb2de70107tturney 20e462795ff5d4c7359f9e8637c10544bb2de70107tturney // Prepare JSON writer and output stream. 21e462795ff5d4c7359f9e8637c10544bb2de70107tturney char writeBuffer[65536]; 22e462795ff5d4c7359f9e8637c10544bb2de70107tturney FileWriteStream os(stdout, writeBuffer, sizeof(writeBuffer)); 23e462795ff5d4c7359f9e8637c10544bb2de70107tturney Writer<FileWriteStream> writer(os); 24e462795ff5d4c7359f9e8637c10544bb2de70107tturney 25e462795ff5d4c7359f9e8637c10544bb2de70107tturney // JSON reader parse from the input stream and let writer generate the output. 26e462795ff5d4c7359f9e8637c10544bb2de70107tturney if (!reader.Parse(is, writer)) { 27e462795ff5d4c7359f9e8637c10544bb2de70107tturney fprintf(stderr, "\nError(%u): %s\n", (unsigned)reader.GetErrorOffset(), GetParseError_En(reader.GetParseErrorCode())); 28e462795ff5d4c7359f9e8637c10544bb2de70107tturney return 1; 29e462795ff5d4c7359f9e8637c10544bb2de70107tturney } 30e462795ff5d4c7359f9e8637c10544bb2de70107tturney 31e462795ff5d4c7359f9e8637c10544bb2de70107tturney return 0; 32e462795ff5d4c7359f9e8637c10544bb2de70107tturney} 33