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 
main(int,char * [])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