diff --git a/example/readFromStream/readFromStream.cpp b/example/readFromStream/readFromStream.cpp index 358d2cab0..ecad5a93f 100644 --- a/example/readFromStream/readFromStream.cpp +++ b/example/readFromStream/readFromStream.cpp @@ -1,17 +1,33 @@ #include "json/json.h" #include #include -/** \brief Parse from stream, collect comments and capture error info. +/** \brief Parse from stream, collect comments, access data, and capture error info. * Example Usage: * $g++ readFromStream.cpp -ljsoncpp -std=c++11 -o readFromStream * $./readFromStream * // comment head - * { + * [ * // comment before - * "key" : "value" - * } + * { + * "key" : + * { + * "id" : 1, + * "val" : "value 1" + * } + * }, + * { + * "key" : + * { + * "id" : 2, + * "val" : "value 2" + * } + * } + * ] // comment tail * // comment after - * // comment tail + * 1 + * value 1 + * 2 + * value 2 */ int main(int argc, char* argv[]) { Json::Value root; @@ -26,5 +42,14 @@ int main(int argc, char* argv[]) { return EXIT_FAILURE; } std::cout << root << std::endl; + + for (Json::Value::const_iterator it = root.begin(); it != root.end(); ++it) { + int id = it->get("key", "").get("id", "").asInt(); + std::string val = it->get("key", "").get("val", "").asString(); + + std::cout << id << std::endl; + std::cout << val << std::endl; + } + return EXIT_SUCCESS; } diff --git a/example/readFromStream/withComment.json b/example/readFromStream/withComment.json index 7a8c82822..621577ef6 100644 --- a/example/readFromStream/withComment.json +++ b/example/readFromStream/withComment.json @@ -1,6 +1,18 @@ // comment head -{ +[ // comment before - "key" : "value" + { + "key" : { + "id": 1, + "val": "value 1" + } + + }, + { + "key" : { + "id": 2, + "val": "value 2" + } + } // comment after -}// comment tail +]// comment tail