JSON for Modern C++  3.9.1

◆ accept() [2/3]

template<typename InputType >
static bool nlohmann::basic_json::accept ( InputType &&  i,
const bool  ignore_comments = false 
)
inlinestatic

Unlike the parse(InputType&&, const parser_callback_t,const bool) function, this function neither throws an exception in case of invalid JSON input (i.e., a parse error) nor creates diagnostic information.

Template Parameters
InputTypeA compatible input, for instance
  • an std::istream object
  • a FILE pointer
  • a C-style array of characters
  • a pointer to a null-terminated string of single byte characters
  • an object obj for which begin(obj) and end(obj) produces a valid pair of iterators.
Parameters
[in]iinput to read from
[in]ignore_commentswhether comments should be ignored and treated like whitespace (true) or yield a parse error (true); (optional, false by default)
Returns
Whether the input read from i is valid JSON.
Complexity
Linear in the length of the input. The parser is a predictive LL(1) parser.
Note
A UTF-8 byte order mark is silently ignored.
Example
The example below demonstrates the accept() function reading from a string.
1 #include <iostream>
2 #include <iomanip>
3 #include <nlohmann/json.hpp>
4 
5 using json = nlohmann::json;
6 
7 int main()
8 {
9  // a valid JSON text
10  auto valid_text = R"(
11  {
12  "numbers": [1, 2, 3]
13  }
14  )";
15 
16  // an invalid JSON text
17  auto invalid_text = R"(
18  {
19  "strings": ["extra", "comma", ]
20  }
21  )";
22 
23  std::cout << std::boolalpha
24  << json::accept(valid_text) << ' '
25  << json::accept(invalid_text) << '\n';
26 }

Output (play with this example online):
true false
The example code above can be translated with
g++ -std=c++11 -Isingle_include doc/examples/accept__string.cpp -o accept__string 

Definition at line 23238 of file json.hpp.

nlohmann::basic_json::accept
static bool accept(InputType &&i, const bool ignore_comments=false)
check if the input is valid JSON
Definition: json.hpp:23238
nlohmann::json
basic_json<> json
default JSON class
Definition: json.hpp:2933