test_json.cpp
1 // Copyright 2014 BitPay Inc. 2 // Copyright (c) 2017-present The Bitcoin Core developers 3 // Distributed under the MIT software license, see the accompanying 4 // file COPYING or https://opensource.org/license/mit. 5 6 // Test program that can be called by the JSON test suite at 7 // https://github.com/nst/JSONTestSuite. 8 // 9 // It reads JSON input from stdin and exits with code 0 if it can be parsed 10 // successfully. It also pretty prints the parsed JSON value to stdout. 11 12 #include <univalue.h> 13 14 #include <iostream> 15 #include <iterator> 16 #include <string> 17 18 using namespace std; 19 20 int main (int argc, char *argv[]) 21 { 22 UniValue val; 23 if (val.read(string(istreambuf_iterator<char>(cin), 24 istreambuf_iterator<char>()))) { 25 cout << val.write(1 /* prettyIndent */, 4 /* indentLevel */) << endl; 26 return 0; 27 } else { 28 cerr << "JSON Parse Error." << endl; 29 return 1; 30 } 31 }