Create an example directory and add some code examples. (#944)
* update example directory
* modify some compile error.
* update with clang-format
* update
* update
* add_definitions("../include/json")
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date: Wed Jul 10 21:26:16 2019 +0800
#
# On branch code_example
# Your branch is up-to-date with 'origin/code_example'.
#
# Changes to be committed:
# modified: example/CMakeLists.txt
#
* change CMakeLists.txt
* update streamWrite.cpp
* update
* Update readFromStream.cpp
* fix typo
diff --git a/example/readFromStream/errorFormat.json b/example/readFromStream/errorFormat.json
new file mode 100644
index 0000000..2d13290
--- /dev/null
+++ b/example/readFromStream/errorFormat.json
@@ -0,0 +1,3 @@
+{
+ 1: "value"
+}
\ No newline at end of file
diff --git a/example/readFromStream/readFromStream.cpp b/example/readFromStream/readFromStream.cpp
new file mode 100644
index 0000000..358d2ca
--- /dev/null
+++ b/example/readFromStream/readFromStream.cpp
@@ -0,0 +1,30 @@
+#include "json/json.h"
+#include <fstream>
+#include <iostream>
+/** \brief Parse from stream, collect comments and capture error info.
+ * Example Usage:
+ * $g++ readFromStream.cpp -ljsoncpp -std=c++11 -o readFromStream
+ * $./readFromStream
+ * // comment head
+ * {
+ * // comment before
+ * "key" : "value"
+ * }
+ * // comment after
+ * // comment tail
+ */
+int main(int argc, char* argv[]) {
+ Json::Value root;
+ std::ifstream ifs;
+ ifs.open(argv[1]);
+
+ Json::CharReaderBuilder builder;
+ builder["collectComments"] = true;
+ JSONCPP_STRING errs;
+ if (!parseFromStream(builder, ifs, &root, &errs)) {
+ std::cout << errs << std::endl;
+ return EXIT_FAILURE;
+ }
+ std::cout << root << std::endl;
+ return EXIT_SUCCESS;
+}
diff --git a/example/readFromStream/withComment.json b/example/readFromStream/withComment.json
new file mode 100644
index 0000000..7a8c828
--- /dev/null
+++ b/example/readFromStream/withComment.json
@@ -0,0 +1,6 @@
+// comment head
+{
+ // comment before
+ "key" : "value"
+ // comment after
+}// comment tail