C# 클래스 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.
파일 보기 프로젝트 열기: AndroidThermostat/ThermostatMonitor-Net

공개 메소드들

메소드 설명
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

보호된 메소드들

메소드 설명
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

메소드 상세

EatWhitespace() 보호된 정적인 메소드

protected static EatWhitespace ( char json, int &index ) : void
json char
index int
리턴 void

GetLastIndexOfNumber() 보호된 정적인 메소드

protected static GetLastIndexOfNumber ( char json, int index ) : int
json char
index int
리턴 int

IsNumeric() 보호된 정적인 메소드

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
리턴 bool

JsonDecode() 공개 정적인 메소드

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

JsonDecode() 공개 정적인 메소드

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?
리턴 object

JsonEncode() 공개 정적인 메소드

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

LookAhead() 보호된 정적인 메소드

protected static LookAhead ( char json, int index ) : int
json char
index int
리턴 int

NextToken() 보호된 정적인 메소드

protected static NextToken ( char json, int &index ) : int
json char
index int
리턴 int

ParseArray() 보호된 정적인 메소드

protected static ParseArray ( char json, int &index, bool &success ) : ArrayList
json char
index int
success bool
리턴 ArrayList

ParseNumber() 보호된 정적인 메소드

protected static ParseNumber ( char json, int &index, bool &success ) : double
json char
index int
success bool
리턴 double

ParseObject() 보호된 정적인 메소드

protected static ParseObject ( char json, int &index, bool &success ) : Hashtable
json char
index int
success bool
리턴 Hashtable

ParseString() 보호된 정적인 메소드

protected static ParseString ( char json, int &index, bool &success ) : string
json char
index int
success bool
리턴 string

ParseValue() 보호된 정적인 메소드

protected static ParseValue ( char json, int &index, bool &success ) : object
json char
index int
success bool
리턴 object

SerializeArray() 보호된 정적인 메소드

protected static SerializeArray ( ArrayList anArray, StringBuilder builder ) : bool
anArray ArrayList
builder StringBuilder
리턴 bool

SerializeNumber() 보호된 정적인 메소드

protected static SerializeNumber ( double number, StringBuilder builder ) : bool
number double
builder StringBuilder
리턴 bool

SerializeObject() 보호된 정적인 메소드

protected static SerializeObject ( Hashtable anObject, StringBuilder builder ) : bool
anObject Hashtable
builder StringBuilder
리턴 bool

SerializeString() 보호된 정적인 메소드

protected static SerializeString ( string aString, StringBuilder builder ) : bool
aString string
builder StringBuilder
리턴 bool

SerializeValue() 보호된 정적인 메소드

protected static SerializeValue ( object value, StringBuilder builder ) : bool
value object
builder StringBuilder
리턴 bool