1 // JSON pretty formatting example 2 // This example can only handle UTF-8. For handling other encodings, see prettyauto example. 3 4 #include "rapidjson/reader.h" 5 #include "rapidjson/prettywriter.h" 6 #include "rapidjson/filereadstream.h" 7 #include "rapidjson/filewritestream.h" 8 #include "rapidjson/error/en.h" 9 10 using namespace rapidjson; 11 12 int main(int, char*[]) { 13 // Prepare reader and input stream. 14 Reader reader; 15 char readBuffer[65536]; 16 FileReadStream is(stdin, readBuffer, sizeof(readBuffer)); 17 18 // Prepare writer and output stream. 19 char writeBuffer[65536]; 20 FileWriteStream os(stdout, writeBuffer, sizeof(writeBuffer)); 21 PrettyWriter<FileWriteStream> writer(os); 22 23 // JSON reader parse from the input stream and let writer generate the output. 24 if (!reader.Parse<kParseValidateEncodingFlag>(is, writer)) { 25 fprintf(stderr, "\nError(%u): %s\n", (unsigned)reader.GetErrorOffset(), GetParseError_En(reader.GetParseErrorCode())); 26 return 1; 27 } 28 29 return 0; 30 } 31