You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
727 B
31 lines
727 B
#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;
|
|
}
|