mirror of
				https://github.com/Tencent/rapidjson.git
				synced 2025-10-28 11:31:57 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include "rapidjson/reader.h"
 | |
| #include <iostream>
 | |
| 
 | |
| using namespace rapidjson;
 | |
| using namespace std;
 | |
| 
 | |
| struct MyHandler {
 | |
|     bool Null() { cout << "Null()" << endl; return true; }
 | |
|     bool Bool(bool b) { cout << "Bool(" << boolalpha << b << ")" << endl; return true; }
 | |
|     bool Int(int i) { cout << "Int(" << i << ")" << endl; return true; }
 | |
|     bool Uint(unsigned u) { cout << "Uint(" << u << ")" << endl; return true; }
 | |
|     bool Int64(int64_t i) { cout << "Int64(" << i << ")" << endl; return true; }
 | |
|     bool Uint64(uint64_t u) { cout << "Uint64(" << u << ")" << endl; return true; }
 | |
|     bool Double(double d) { cout << "Double(" << d << ")" << endl; return true; }
 | |
|     bool String(const char* str, SizeType length, bool copy) { 
 | |
|         cout << "String(" << str << ", " << length << ", " << boolalpha << copy << ")" << endl;
 | |
|         return true;
 | |
|     }
 | |
|     bool StartObject() { cout << "StartObject()" << endl; return true; }
 | |
|     bool Key(const char* str, SizeType length, bool copy) { return String(str, length, copy); }
 | |
|     bool EndObject(SizeType memberCount) { cout << "EndObject(" << memberCount << ")" << endl; return true; }
 | |
|     bool StartArray() { cout << "StartArray()" << endl; return true; }
 | |
|     bool EndArray(SizeType elementCount) { cout << "EndArray(" << elementCount << ")" << endl; return true; }
 | |
| };
 | |
| 
 | |
| int main() {
 | |
|     const char json[] = " { \"hello\" : \"world\", \"t\" : true , \"f\" : false, \"n\": null, \"i\":123, \"pi\": 3.1416, \"a\":[1, 2, 3, 4] } ";
 | |
| 
 | |
|     MyHandler handler;
 | |
|     Reader reader;
 | |
|     StringStream ss(json);
 | |
|     reader.Parse(ss, handler);
 | |
| 
 | |
|     return 0;
 | |
| }
 | 
