Base Framework
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
JSON Class Reference

JSON. More...

#include <base/objectmodel/JSON.h>

Inherits DynamicObject.

Classes

class  JSONParser
 

Public Types

enum  Encoding { UTF_8, UTF_16, UTF_32 }
 

Public Member Functions

 JSON ()
 
Reference< ObjectModel::VoidparseNull (JSONParser &parser)
 
Reference< ObjectModel::BooleanparseBoolean (JSONParser &parser)
 
Reference< ObjectModel::IntegerparseInteger (JSONParser &parser)
 
Reference< ObjectModel::FloatparseFloat (JSONParser &parser)
 
Reference< ObjectModel::ValueparseNumber (JSONParser &parser)
 
Reference< ObjectModel::StringparseString (JSONParser &parser)
 
Reference< ObjectModel::ArrayparseArray (JSONParser &parser)
 
Reference< ObjectModel::ObjectparseObject (JSONParser &parser)
 
Reference< ObjectModel::ValueparseValue (JSONParser &parser)
 
Reference< ObjectModel::Valueparse (const uint8 *src, const uint8 *end)
 
- Public Member Functions inherited from DynamicObject
 DynamicObject () noexcept
 
bool isValidObject () const noexcept
 
virtual ~DynamicObject () noexcept(false)
 
 _COM_AZURE_DEV__BASE__OVERRIDE_ALLOC ()
 

Static Public Member Functions

static Reference< ObjectModel::Valueparse (const String &text)
 
static Reference< ObjectModel::ValueparseFile (const String &path)
 
static String getJSON (Reference< ObjectModel::Value > value, unsigned int flags=ObjectModel::DEFAULT_FORMATTING)
 
static String getJSONNoFormatting (Reference< ObjectModel::Value > value)
 
static String parseString (const String &text)
 

Detailed Description

JSON.

JSON parser. See https://www.json.org/ and https://www.ietf.org/rfc/rfc7159.txt.

Implementation preserves 64-bit signed integer and float types.

Version
1.0

Constructor & Destructor Documentation

◆ JSON()

JSON::JSON ( )

Constructs JSON parser.

Member Function Documentation

◆ getJSON()

static String JSON::getJSON ( Reference< ObjectModel::Value value,
unsigned int  flags = ObjectModel::DEFAULT_FORMATTING 
)
static

Converts given ObjectModel to JSON. Use getJSONNoFormatting() to ensure no formatting.

◆ getJSONNoFormatting()

static String JSON::getJSONNoFormatting ( Reference< ObjectModel::Value value)
inlinestatic

Converts given ObjectModel to JSON.

◆ parse() [1/2]

static Reference<ObjectModel::Value> JSON::parse ( const String text)
static

Returns ObjectModel for the given JSON text.

◆ parse() [2/2]

Reference<ObjectModel::Value> JSON::parse ( const uint8 *  src,
const uint8 *  end 
)

Returns ObjectModel for the given JSON text.

◆ parseArray()

Reference<ObjectModel::Array> JSON::parseArray ( JSONParser parser)

Returns array from input.

◆ parseBoolean()

Reference<ObjectModel::Boolean> JSON::parseBoolean ( JSONParser parser)

Returns boolean from input.

◆ parseFile()

static Reference<ObjectModel::Value> JSON::parseFile ( const String path)
static

Returns ObjectModel for the given file.

◆ parseFloat()

Reference<ObjectModel::Float> JSON::parseFloat ( JSONParser parser)

Returns float from input.

◆ parseInteger()

Reference<ObjectModel::Integer> JSON::parseInteger ( JSONParser parser)

Returns integer from input.

◆ parseNull()

Reference<ObjectModel::Void> JSON::parseNull ( JSONParser parser)

Returns void/null from input.

◆ parseNumber()

Reference<ObjectModel::Value> JSON::parseNumber ( JSONParser parser)

Returns number from input.

◆ parseObject()

Reference<ObjectModel::Object> JSON::parseObject ( JSONParser parser)

Returns object from input.

◆ parseString() [1/2]

static String JSON::parseString ( const String text)
static

Returns the string value for the given JSON string text.

◆ parseString() [2/2]

Reference<ObjectModel::String> JSON::parseString ( JSONParser parser)

Returns string from input.

◆ parseValue()

Reference<ObjectModel::Value> JSON::parseValue ( JSONParser parser)

Returns any value from input.