Oxygine  1
2g game engine
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:

Public Member Functions

virtual CharReadernewCharReader () const
 Allocate a CharReader via operator new(). More...
bool validate (Json::Value *invalid) const
Valueoperator[] (std::string key)

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.


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

Member Function Documentation

§ newCharReader()

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

Allocate a CharReader via operator new().

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

Implements Json::CharReader::Factory.

§ operator[]()

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

A simple way to update a specific setting.

§ setDefaults()

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

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

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

§ strictMode()

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

Same as old Features::strictMode().

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

§ validate()

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

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.

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

See also

The documentation for this class was generated from the following file: