C# Class Flood.Serialization.JSONSerializer

JSON protocol implementation for thrift. This is a full-featured protocol supporting Write and Read. Please see the C++ class header for a detailed description of the protocol's wire format. Adapted from the Java version.
Inheritance: Serializer
Afficher le fichier Open project: FloodProject/flood Class Usage Examples

Protected Properties

Свойство Type Description
context JSONBaseContext
contextStack Stack
reader LookaheadReader
utf8Encoding System.Text.Encoding

Méthodes publiques

Méthode Description
JSONSerializer ( System stream ) : System

JSONProtocol Constructor

ReadBinary ( ) : byte[]
ReadBool ( ) : bool
ReadByte ( ) : byte
ReadDataObjectBegin ( ) : DataObject
ReadDataObjectEnd ( ) : void
ReadDouble ( ) : double
ReadFieldBegin ( ) : Field
ReadFieldEnd ( ) : void
ReadI16 ( ) : short
ReadI32 ( ) : int
ReadI64 ( ) : long
ReadListBegin ( ) : TList
ReadListEnd ( ) : void
ReadMapBegin ( ) : TMap
ReadMapEnd ( ) : void
ReadString ( ) : String
WriteBinary ( byte bin ) : void
WriteBool ( bool b ) : void
WriteByte ( byte b ) : void
WriteDataObjectBegin ( DataObject str ) : void
WriteDataObjectEnd ( ) : void
WriteDouble ( double dub ) : void
WriteFieldBegin ( Field field ) : void
WriteFieldEnd ( ) : void
WriteFieldStop ( ) : void
WriteI16 ( short i16 ) : void
WriteI32 ( int i32 ) : void
WriteI64 ( long i64 ) : void
WriteListBegin ( TList list ) : void
WriteListEnd ( ) : void
WriteMapBegin ( TMap map ) : void
WriteMapEnd ( ) : void
WriteString ( String str ) : void

Méthodes protégées

Méthode Description
PopContext ( ) : void

Pop the last JSON context off the stack

PushContext ( JSONBaseContext c ) : void

Push a new JSON context onto the stack.

ReadJSONSyntaxChar ( byte b ) : void

Read a byte that must match b[0]; otherwise an exception is thrown. Marked protected to avoid synthetic accessor in JSONListContext.Read and JSONPairContext.Read

Private Methods

Méthode Description
GetTypeIDForTypeName ( byte name ) : DataType
GetTypeNameForTypeID ( DataType typeID ) : byte[]
HexChar ( byte val ) : byte

Convert a byte containing a hex value to its corresponding hex character

HexVal ( byte ch ) : byte

Convert a byte containing a hex char ('0'-'9' or 'a'-'f') into its corresponding hex value

IsJSONNumeric ( byte b ) : bool

Return true if the given byte could be a valid part of a JSON number.

ReadJSONArrayEnd ( ) : void
ReadJSONArrayStart ( ) : void
ReadJSONBase64 ( ) : byte[]

Read in a JSON string containing base-64 encoded data and decode it.

ReadJSONDouble ( ) : double

Read in a JSON double value. Throw if the value is not wrapped in quotes when expected or if wrapped in quotes when not expected.

ReadJSONInteger ( ) : long

Read in a JSON number. If the context dictates, Read in enclosing quotes.

ReadJSONNumericChars ( ) : String

Read in a sequence of characters that are all valid in JSON numbers. Does not do a complete regex check to validate that this is actually a number.

ReadJSONObjectEnd ( ) : void
ReadJSONObjectStart ( ) : void
ReadJSONString ( bool skipContext ) : byte[]

Read in a JSON string, unescaping as appropriate.. Skip Reading from the context if skipContext is true.

WriteJSONArrayEnd ( ) : void
WriteJSONArrayStart ( ) : void
WriteJSONBase64 ( byte b ) : void

Write out contents of byte array b as a JSON string with base-64 encoded data

WriteJSONDouble ( double num ) : void

Write out a double as a JSON value. If it is NaN or infinity or if the context dictates escaping, Write out as JSON string.

WriteJSONInteger ( long num ) : void

Write out number as a JSON value. If the context dictates so, it will be wrapped in quotes to output as a JSON string.

WriteJSONObjectEnd ( ) : void
WriteJSONObjectStart ( ) : void
WriteJSONString ( byte b ) : void

Write the bytes in array buf as a JSON characters, escaping as needed

Method Details

JSONSerializer() public méthode

JSONProtocol Constructor
public JSONSerializer ( System stream ) : System
stream System
Résultat System

PopContext() protected méthode

Pop the last JSON context off the stack
protected PopContext ( ) : void
Résultat void

PushContext() protected méthode

Push a new JSON context onto the stack.
protected PushContext ( JSONBaseContext c ) : void
c JSONBaseContext
Résultat void

ReadBinary() public méthode

public ReadBinary ( ) : byte[]
Résultat byte[]

ReadBool() public méthode

public ReadBool ( ) : bool
Résultat bool

ReadByte() public méthode

public ReadByte ( ) : byte
Résultat byte

ReadDataObjectBegin() public méthode

public ReadDataObjectBegin ( ) : DataObject
Résultat DataObject

ReadDataObjectEnd() public méthode

public ReadDataObjectEnd ( ) : void
Résultat void

ReadDouble() public méthode

public ReadDouble ( ) : double
Résultat double

ReadFieldBegin() public méthode

public ReadFieldBegin ( ) : Field
Résultat Field

ReadFieldEnd() public méthode

public ReadFieldEnd ( ) : void
Résultat void

ReadI16() public méthode

public ReadI16 ( ) : short
Résultat short

ReadI32() public méthode

public ReadI32 ( ) : int
Résultat int

ReadI64() public méthode

public ReadI64 ( ) : long
Résultat long

ReadJSONSyntaxChar() protected méthode

Read a byte that must match b[0]; otherwise an exception is thrown. Marked protected to avoid synthetic accessor in JSONListContext.Read and JSONPairContext.Read
protected ReadJSONSyntaxChar ( byte b ) : void
b byte
Résultat void

ReadListBegin() public méthode

public ReadListBegin ( ) : TList
Résultat TList

ReadListEnd() public méthode

public ReadListEnd ( ) : void
Résultat void

ReadMapBegin() public méthode

public ReadMapBegin ( ) : TMap
Résultat TMap

ReadMapEnd() public méthode

public ReadMapEnd ( ) : void
Résultat void

ReadString() public méthode

public ReadString ( ) : String
Résultat String

WriteBinary() public méthode

public WriteBinary ( byte bin ) : void
bin byte
Résultat void

WriteBool() public méthode

public WriteBool ( bool b ) : void
b bool
Résultat void

WriteByte() public méthode

public WriteByte ( byte b ) : void
b byte
Résultat void

WriteDataObjectBegin() public méthode

public WriteDataObjectBegin ( DataObject str ) : void
str DataObject
Résultat void

WriteDataObjectEnd() public méthode

public WriteDataObjectEnd ( ) : void
Résultat void

WriteDouble() public méthode

public WriteDouble ( double dub ) : void
dub double
Résultat void

WriteFieldBegin() public méthode

public WriteFieldBegin ( Field field ) : void
field Field
Résultat void

WriteFieldEnd() public méthode

public WriteFieldEnd ( ) : void
Résultat void

WriteFieldStop() public méthode

public WriteFieldStop ( ) : void
Résultat void

WriteI16() public méthode

public WriteI16 ( short i16 ) : void
i16 short
Résultat void

WriteI32() public méthode

public WriteI32 ( int i32 ) : void
i32 int
Résultat void

WriteI64() public méthode

public WriteI64 ( long i64 ) : void
i64 long
Résultat void

WriteListBegin() public méthode

public WriteListBegin ( TList list ) : void
list TList
Résultat void

WriteListEnd() public méthode

public WriteListEnd ( ) : void
Résultat void

WriteMapBegin() public méthode

public WriteMapBegin ( TMap map ) : void
map TMap
Résultat void

WriteMapEnd() public méthode

public WriteMapEnd ( ) : void
Résultat void

WriteString() public méthode

public WriteString ( String str ) : void
str String
Résultat void

Property Details

context protected_oe property

protected JSONBaseContext context
Résultat JSONBaseContext

contextStack protected_oe property

protected Stack contextStack
Résultat Stack

reader protected_oe property

protected LookaheadReader reader
Résultat LookaheadReader

utf8Encoding protected_oe property

protected Encoding,System.Text utf8Encoding
Résultat System.Text.Encoding