C# Class ThermostatMonitorLib.JSON

JSON Helper library is from: http://techblog.procurios.nl/k/n618/news/view/14605/14863/How-do-I-write-my-own-parser-for-JSON.html?pageNr=3 and is subject to the MIT license (http://www.opensource.org/licenses/mit-license.php). .NET 4.0 has native JSON support, but I chose to use this helper instead to make this library accessible to more developers. 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.
Afficher le fichier Open project: AndroidThermostat/ThermostatMonitor-Net

Méthodes publiques

Méthode Description
JsonDecode ( string json ) : object

Parses the string json into a value

JsonDecode ( string json, bool &success ) : object

Parses the string json into a value; and fills 'success' with the successfullness of the parse.

JsonEncode ( object json ) : string

Converts a Hashtable / ArrayList object into a JSON string

Méthodes protégées

Méthode 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, null, etc). Thanks to mtighe for pointing out Double.TryParse to me.

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

Method Details

EatWhitespace() protected static méthode

protected static EatWhitespace ( char json, int &index ) : void
json char
index int
Résultat void

GetLastIndexOfNumber() protected static méthode

protected static GetLastIndexOfNumber ( char json, int index ) : int
json char
index int
Résultat int

IsNumeric() protected static méthode

Determines if a given object is numeric in any way (can be integer, double, null, etc). Thanks to mtighe for pointing out Double.TryParse to me.
protected static IsNumeric ( object o ) : bool
o object
Résultat bool

JsonDecode() public static méthode

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

JsonDecode() public static méthode

Parses the string json into a value; and fills 'success' with the successfullness of the parse.
public static JsonDecode ( string json, bool &success ) : object
json string A JSON string.
success bool Successful parse?
Résultat object

JsonEncode() public static méthode

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

LookAhead() protected static méthode

protected static LookAhead ( char json, int index ) : int
json char
index int
Résultat int

NextToken() protected static méthode

protected static NextToken ( char json, int &index ) : int
json char
index int
Résultat int

ParseArray() protected static méthode

protected static ParseArray ( char json, int &index, bool &success ) : ArrayList
json char
index int
success bool
Résultat ArrayList

ParseNumber() protected static méthode

protected static ParseNumber ( char json, int &index, bool &success ) : double
json char
index int
success bool
Résultat double

ParseObject() protected static méthode

protected static ParseObject ( char json, int &index, bool &success ) : Hashtable
json char
index int
success bool
Résultat Hashtable

ParseString() protected static méthode

protected static ParseString ( char json, int &index, bool &success ) : string
json char
index int
success bool
Résultat string

ParseValue() protected static méthode

protected static ParseValue ( char json, int &index, bool &success ) : object
json char
index int
success bool
Résultat object

SerializeArray() protected static méthode

protected static SerializeArray ( ArrayList anArray, StringBuilder builder ) : bool
anArray ArrayList
builder StringBuilder
Résultat bool

SerializeNumber() protected static méthode

protected static SerializeNumber ( double number, StringBuilder builder ) : bool
number double
builder StringBuilder
Résultat bool

SerializeObject() protected static méthode

protected static SerializeObject ( Hashtable anObject, StringBuilder builder ) : bool
anObject Hashtable
builder StringBuilder
Résultat bool

SerializeString() protected static méthode

protected static SerializeString ( string aString, StringBuilder builder ) : bool
aString string
builder StringBuilder
Résultat bool

SerializeValue() protected static méthode

protected static SerializeValue ( object value, StringBuilder builder ) : bool
value object
builder StringBuilder
Résultat bool