summaryrefslogtreecommitdiff
path: root/extlibs/rapidjson/rapidjson/example/simpledom/simpledom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'extlibs/rapidjson/rapidjson/example/simpledom/simpledom.cpp')
-rw-r--r--extlibs/rapidjson/rapidjson/example/simpledom/simpledom.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/extlibs/rapidjson/rapidjson/example/simpledom/simpledom.cpp b/extlibs/rapidjson/rapidjson/example/simpledom/simpledom.cpp
new file mode 100644
index 000000000..80384199a
--- /dev/null
+++ b/extlibs/rapidjson/rapidjson/example/simpledom/simpledom.cpp
@@ -0,0 +1,29 @@
+// JSON simple example
+// This example does not handle errors.
+
+#include "rapidjson/document.h"
+#include "rapidjson/writer.h"
+#include "rapidjson/stringbuffer.h"
+#include <iostream>
+
+using namespace rapidjson;
+
+int main() {
+ // 1. Parse a JSON string into DOM.
+ const char* json = "{\"project\":\"rapidjson\",\"stars\":10}";
+ Document d;
+ d.Parse(json);
+
+ // 2. Modify it by DOM.
+ Value& s = d["stars"];
+ s.SetInt(s.GetInt() + 1);
+
+ // 3. Stringify the DOM
+ StringBuffer buffer;
+ Writer<StringBuffer> writer(buffer);
+ d.Accept(writer);
+
+ // Output {"project":"rapidjson","stars":11}
+ std::cout << buffer.GetString() << std::endl;
+ return 0;
+}