Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Json::CharReaderBuilder Class Reference

Build a CharReader implementation. More...

#include <json.h>

Inheritance diagram for Json::CharReaderBuilder:
Inheritance graph
[legend]

Public Member Functions

 CharReaderBuilder ()
 
CharReadernewCharReader () const override
 Allocate a CharReader via operator new(). More...
 
Valueoperator[] (std::string key)
 
bool validate (Json::Value *invalid) const
 
 ~CharReaderBuilder () override
 
- Public Member Functions inherited from Json::CharReader::Factory
virtual ~Factory ()
 

Static Public Member Functions

static void setDefaults (Json::Value *settings)
 
static void strictMode (Json::Value *settings)
 

Public Attributes

Json::Value settings_
 

Detailed Description

Build a CharReader implementation.

Usage:

using namespace Json;
builder["collectComments"] = false;
bool ok = parseFromStream(builder, std::cin, &value, &errs);

Definition at line 1541 of file json.h.

Constructor & Destructor Documentation

◆ CharReaderBuilder()

Json::CharReaderBuilder::CharReaderBuilder ( )

Definition at line 2100 of file jsoncpp.cpp.

◆ ~CharReaderBuilder()

Json::CharReaderBuilder::~CharReaderBuilder ( )
override

Definition at line 2104 of file jsoncpp.cpp.

Member Function Documentation

◆ newCharReader()

CharReader * Json::CharReaderBuilder::newCharReader ( ) const
overridevirtual

Allocate a CharReader via operator new().

Exceptions
std::exceptionif something goes wrong (e.g. invalid settings)

Implements Json::CharReader::Factory.

Definition at line 2106 of file jsoncpp.cpp.

◆ operator[]()

Value & Json::CharReaderBuilder::operator[] ( std::string  key)

A simple way to update a specific setting.

Definition at line 2152 of file jsoncpp.cpp.

◆ setDefaults()

void Json::CharReaderBuilder::setDefaults ( Json::Value settings)
static

Called by ctor, but you can use this to reset settings_.

Precondition
'settings' != NULL (but Json::null is fine)
Remarks
Defaults:

[CharReaderBuilderDefaults]

[CharReaderBuilderDefaults]

Definition at line 2172 of file jsoncpp.cpp.

◆ strictMode()

void Json::CharReaderBuilder::strictMode ( Json::Value settings)
static

Same as old Features::strictMode().

Precondition
'settings' != NULL (but Json::null is fine)
Remarks
Defaults:

[CharReaderBuilderStrictMode]

[CharReaderBuilderStrictMode]

Definition at line 2157 of file jsoncpp.cpp.

◆ validate()

bool Json::CharReaderBuilder::validate ( Json::Value invalid) const
Returns
true if 'settings' are legal and consistent; otherwise, indicate bad settings via 'invalid'.

Definition at line 2135 of file jsoncpp.cpp.

Member Data Documentation

◆ settings_

Json::Value Json::CharReaderBuilder::settings_

Configuration of this builder. These are case-sensitive. Available settings (case-sensitive):

  • "collectComments": false or true
    • true to collect comment and allow writing them back during serialization, false to discard comments. This parameter is ignored if allowComments is false.
  • "allowComments": false or true
    • true if comments are allowed.
  • "strictRoot": false or true
    • true if root must be either an array or an object value
  • "allowDroppedNullPlaceholders": false or true
  • "allowNumericKeys": false or true
    • true if numeric object keys are allowed.
  • "allowSingleQuotes": false or true
    • true if '' are allowed for strings (both keys and values)
  • "stackLimit": integer
    • Exceeding stackLimit (recursive depth of readValue()) will cause an exception.
    • This is a security issue (seg-faults caused by deeply nested JSON), so the default is low.
  • "failIfExtra": false or true
    • If true, parse() returns false when extra non-whitespace trails the JSON value in the input string.
  • "rejectDupKeys": false or true
    • If true, parse() returns false when a key is duplicated within an object.
  • "allowSpecialFloats": false or true
    • If true, special float values (NaNs and infinities) are allowed and their values are lossfree restorable.

You can examine 'settings_` yourself to see the defaults. You can also write and read them just like any JSON Value.

See also
setDefaults()

Definition at line 1581 of file json.h.


The documentation for this class was generated from the following files:
Json::CharReaderBuilder
Build a CharReader implementation.
Definition: json.h:1541
string
GLsizei const GLchar *const * string
Definition: glcorearb.h:3083
ok
ROSCPP_DECL bool ok()
Json
JSON (JavaScript Object Notation).
Definition: json.h:227
Json::parseFromStream
bool JSON_API parseFromStream(CharReader::Factory const &, std::istream &, Value *root, std::string *errs)
Definition: jsoncpp.cpp:2191
value
GLsizei const GLfloat * value
Definition: glcorearb.h:3093
Json::Value
Represents a JSON value.
Definition: json.h:547


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:07:10