C# Class Playtomic.JSON

This class encodes and decodes JSON strings. Spec. details, see http://www.json.org/ JSON uses Arrays and Objects. These correspond here to the datatypes ArrayList and Hashtable. All numbers are parsed to doubles.
Mostrar archivo Open project: playtomic/gameapi-csharp

Protected Properties

Property Type Description
lastDecode string
lastErrorIndex int

Public Methods

Method Description
GetLastErrorIndex ( ) : int

On decoding, this function returns the position at which the parse failed (-1 = no error).

GetLastErrorSnippet ( ) : string

If a decoding error occurred, this function returns a piece of the JSON string at which the error took place. To ease debugging.

JsonDecode ( string json ) : object

Parses the string json into a value

JsonEncode ( object json ) : string

Converts a Hashtable / ArrayList object into a JSON string

LastDecodeSuccessful ( ) : bool

On decoding, this function returns the position at which the parse failed (-1 = no error).

Protected Methods

Method Description
EatWhitespace ( char json, int &index ) : void
GetLastIndexOfNumber ( char json, int index ) : int
IsNumeric ( object o ) : bool

Determines if a given object is numeric in any way (can be integer, double, etc). C# has no pretty way to do this.

LookAhead ( char json, int index ) : int
NextToken ( char json, int &index ) : int
ParseArray ( char json, int &index ) : ArrayList
ParseNumber ( char json, int &index ) : double
ParseObject ( char json, int &index ) : Hashtable
ParseString ( char json, int &index ) : string
ParseValue ( char json, int &index, bool &success ) : object
SerializeArray ( ArrayList anArray, StringBuilder builder ) : bool
SerializeNumber ( double number, StringBuilder builder ) : void
SerializeObject ( Hashtable anObject, StringBuilder builder ) : bool
SerializeObjectOrArray ( object objectOrArray, StringBuilder builder ) : bool
SerializeString ( string aString, StringBuilder builder ) : void
SerializeValue ( object value, StringBuilder builder ) : bool

Method Details

EatWhitespace() protected method

protected EatWhitespace ( char json, int &index ) : void
json char
index int
return void

GetLastErrorIndex() public static method

On decoding, this function returns the position at which the parse failed (-1 = no error).
public static GetLastErrorIndex ( ) : int
return int

GetLastErrorSnippet() public static method

If a decoding error occurred, this function returns a piece of the JSON string at which the error took place. To ease debugging.
public static GetLastErrorSnippet ( ) : string
return string

GetLastIndexOfNumber() protected method

protected GetLastIndexOfNumber ( char json, int index ) : int
json char
index int
return int

IsNumeric() protected method

Determines if a given object is numeric in any way (can be integer, double, etc). C# has no pretty way to do this.
protected IsNumeric ( object o ) : bool
o object
return bool

JsonDecode() public static method

Parses the string json into a value
public static JsonDecode ( string json ) : object
json string A JSON string.
return object

JsonEncode() public static method

Converts a Hashtable / ArrayList object into a JSON string
public static JsonEncode ( object json ) : string
json object A Hashtable / ArrayList
return string

LastDecodeSuccessful() public static method

On decoding, this function returns the position at which the parse failed (-1 = no error).
public static LastDecodeSuccessful ( ) : bool
return bool

LookAhead() protected method

protected LookAhead ( char json, int index ) : int
json char
index int
return int

NextToken() protected method

protected NextToken ( char json, int &index ) : int
json char
index int
return int

ParseArray() protected method

protected ParseArray ( char json, int &index ) : ArrayList
json char
index int
return System.Collections.ArrayList

ParseNumber() protected method

protected ParseNumber ( char json, int &index ) : double
json char
index int
return double

ParseObject() protected method

protected ParseObject ( char json, int &index ) : Hashtable
json char
index int
return System.Collections.Hashtable

ParseString() protected method

protected ParseString ( char json, int &index ) : string
json char
index int
return string

ParseValue() protected method

protected ParseValue ( char json, int &index, bool &success ) : object
json char
index int
success bool
return object

SerializeArray() protected method

protected SerializeArray ( ArrayList anArray, StringBuilder builder ) : bool
anArray System.Collections.ArrayList
builder StringBuilder
return bool

SerializeNumber() protected method

protected SerializeNumber ( double number, StringBuilder builder ) : void
number double
builder StringBuilder
return void

SerializeObject() protected method

protected SerializeObject ( Hashtable anObject, StringBuilder builder ) : bool
anObject System.Collections.Hashtable
builder StringBuilder
return bool

SerializeObjectOrArray() protected method

protected SerializeObjectOrArray ( object objectOrArray, StringBuilder builder ) : bool
objectOrArray object
builder StringBuilder
return bool

SerializeString() protected method

protected SerializeString ( string aString, StringBuilder builder ) : void
aString string
builder StringBuilder
return void

SerializeValue() protected method

protected SerializeValue ( object value, StringBuilder builder ) : bool
value object
builder StringBuilder
return bool

Property Details

lastDecode protected_oe property

protected string lastDecode
return string

lastErrorIndex protected_oe property

On decoding, this value holds the position at which the parse failed (-1 = no error).
protected int lastErrorIndex
return int