Bitcoin Core  31.0.0
P2P Digital Currency
test_json.cpp
Go to the documentation of this file.
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 }
bool read(std::string_view raw)
Definition: common.h:29
int main(int argc, char *argv[])
Definition: test_json.cpp:20
std::string write(unsigned int prettyIndent=0, unsigned int indentLevel=0) const