]>
git.proxmox.com Git - ceph.git/blob - ceph/src/rapidjson/example/simplereader/simplereader.cpp
1 #include "rapidjson/reader.h"
4 using namespace rapidjson
;
8 bool Null() { cout
<< "Null()" << endl
; return true; }
9 bool Bool(bool b
) { cout
<< "Bool(" << boolalpha
<< b
<< ")" << endl
; return true; }
10 bool Int(int i
) { cout
<< "Int(" << i
<< ")" << endl
; return true; }
11 bool Uint(unsigned u
) { cout
<< "Uint(" << u
<< ")" << endl
; return true; }
12 bool Int64(int64_t i
) { cout
<< "Int64(" << i
<< ")" << endl
; return true; }
13 bool Uint64(uint64_t u
) { cout
<< "Uint64(" << u
<< ")" << endl
; return true; }
14 bool Double(double d
) { cout
<< "Double(" << d
<< ")" << endl
; return true; }
15 bool RawNumber(const char* str
, SizeType length
, bool copy
) {
16 cout
<< "Number(" << str
<< ", " << length
<< ", " << boolalpha
<< copy
<< ")" << endl
;
19 bool String(const char* str
, SizeType length
, bool copy
) {
20 cout
<< "String(" << str
<< ", " << length
<< ", " << boolalpha
<< copy
<< ")" << endl
;
23 bool StartObject() { cout
<< "StartObject()" << endl
; return true; }
24 bool Key(const char* str
, SizeType length
, bool copy
) {
25 cout
<< "Key(" << str
<< ", " << length
<< ", " << boolalpha
<< copy
<< ")" << endl
;
28 bool EndObject(SizeType memberCount
) { cout
<< "EndObject(" << memberCount
<< ")" << endl
; return true; }
29 bool StartArray() { cout
<< "StartArray()" << endl
; return true; }
30 bool EndArray(SizeType elementCount
) { cout
<< "EndArray(" << elementCount
<< ")" << endl
; return true; }
34 const char json
[] = " { \"hello\" : \"world\", \"t\" : true , \"f\" : false, \"n\": null, \"i\":123, \"pi\": 3.1416, \"a\":[1, 2, 3, 4] } ";
38 StringStream
ss(json
);
39 reader
.Parse(ss
, handler
);