接口

interface JsonDeserializable<T>

public interface JsonDeserializable<T> {
    static func fromJson(r: JsonReader): T
}

功能:此接口用于实现从 JsonReader 中读取一个仓颉对象。

支持的对象类型包括:

  • 基本数据类型:整数类型、浮点类型、布尔类型、字符串类型。

  • Collection 类型:Array、ArrayList、HashMap、Option。

  • BigInt、Decimal 类型。

  • DateTime 类型。

static func fromJson(JsonReader)

static func fromJson(r: JsonReader): T

功能:从参数 r 指定的 JsonReader 实例中读取一个 T 类型对象。

参数:

返回值:

  • T - T 类型的实例。

异常:

  • IllegalStateException - 如果输入流的 JSON 数据不符合格式,抛出异常。

extend BigInt <: JsonDeserializable<BigInt>

extend BigInt <: JsonDeserializable<BigInt>

功能:为 BigInt 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): BigInt

功能:从 JsonReader 中读取一个 BigInt。

参数:

返回值:

  • BigInt - BigInt 类型的实例。

extend Bool <: JsonDeserializable<Bool>

extend Bool <: JsonDeserializable<Bool>

功能:为 Bool 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): Bool

功能:从 JsonReader 中读取一个 Bool。

参数:

返回值:

  • Bool - Bool 类型的实例。

extend DateTime <: JsonDeserializable<DateTime>

extend DateTime <: JsonDeserializable<DateTime>

功能:为 DateTime 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): DateTime

功能:从 JsonReader 中读取一个 DateTime 实例。

该函数将会把读取到的字符串按照 RFC3339 的规范解析,可包含小数秒格式,函数的行为参考DateTime的func parse(String)。

参数:

返回值:

  • DateTime - DateTime 类型的实例。

异常:

  • TimeParseException - 无法正常解析时,抛出异常。

extend Decimal <: JsonDeserializable<Decimal>

extend Decimal <: JsonDeserializable<Decimal>

功能:为 Decimal 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): Decimal

功能:从 JsonReader 中读取一个 Decimal。

参数:

返回值:

  • Decimal - Decimal 类型的实例。

extend Float16 <: JsonDeserializable<Float16>

extend Float16 <: JsonDeserializable<Float16>

功能:为 Float16 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): Float16

功能:从 JsonReader 中读取一个 Float16。

参数:

返回值:

  • Float16 - Float16 类型的实例。

异常:

  • OverflowException - 读取的数据超过范围时,抛出异常。

extend Float32 <: JsonDeserializable<Float32>

extend Float32 <: JsonDeserializable<Float32>

功能:为 Float32 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): Float32

功能:从 JsonReader 中读取一个 Float32。

参数:

返回值:

  • Float32 - Float32 类型的实例。

异常:

  • OverflowException - 读取的数据超过范围时,抛出异常。

extend Float64 <: JsonDeserializable<Float64>

extend Float64 <: JsonDeserializable<Float64>

功能:为 Float64 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): Float64

功能:从 JsonReader 中读取一个 Float64。

参数:

返回值:

  • Float64 - Float64 类型的实例。

异常:

  • OverflowException - 读取的数据超过范围时,抛出异常。

extend String <: JsonDeserializable<String>

extend String <: JsonDeserializable<String>

功能:为 String 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): String

功能:从 JsonReader 中读取一个 String。

根据下一个 JsonToken 的不同,String 的反序列化结果将会不同:

  • 当下一个 JsonTokenJsonString 时, 反序列化过程会按照标准ECMA-404 The JSON Data Interchange Standard对读到的 String 进行转义。
  • 当下一个 JsonTokenJsonNumber JsonBool JsonNull 其中一个时,将会读取下一个 value 字段的原始字符串并返回。
  • 当下一个 JsonToken 是其它类型时,调用此接口会抛异常。

参数:

返回值:

  • String - String 类型的实例。

extend Int16 <: JsonDeserializable<Int16>

extend Int16 <: JsonDeserializable<Int16>

功能:为 Int16 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): Int16

功能:从 JsonReader 中读取一个 Int16。

参数:

返回值:

  • Int16 - Int16 类型的实例。

异常:

  • OverflowException - 读取的数据超过范围时,抛出异常。

extend Int32 <: JsonDeserializable<Int32>

extend Int32 <: JsonDeserializable<Int32>

功能:为 Int32 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): Int32

功能:从 JsonReader 中读取一个 Int32。

参数:

返回值:

  • Int32 - Int32 类型的实例。

异常:

  • OverflowException - 读取的数据超过范围时,抛出异常。

extend Int64 <: JsonDeserializable<Int64>

extend Int64 <: JsonDeserializable<Int64>

功能:为 Int64 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): Int64

功能:从 JsonReader 中读取一个 Int64。

参数:

返回值:

  • Int64 - Int64 类型的实例。

异常:

  • OverflowException - 读取的数据超过范围时,抛出异常。

extend Int8 <: JsonDeserializable<Int8>

extend Int8 <: JsonDeserializable<Int8>

功能:为 Int8 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): Int8

功能:从 JsonReader 中读取一个 Int8。

参数:

返回值:

  • Int8 - Int8 类型的实例。

异常:

  • OverflowException - 读取的数据超过范围时,抛出异常。

extend IntNative <: JsonDeserializable<IntNative>

extend IntNative <: JsonDeserializable<IntNative>

功能:为 IntNative 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): IntNative

功能:从 JsonReader 中读取一个 IntNative。

参数:

返回值:

  • IntNative - IntNative 类型的实例。

异常:

  • OverflowException - 读取的数据超过范围时,抛出异常。

extend UInt16 <: JsonDeserializable<UInt16>

extend UInt16 <: JsonDeserializable<UInt16>

功能:为 UInt16 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): UInt16

功能:从 JsonReader 中读取一个 UInt16。

参数:

返回值:

  • UInt16 - UInt16 类型的实例。

异常:

  • OverflowException - 读取的数据超过范围时,抛出异常。

extend UInt32 <: JsonDeserializable<UInt32>

extend UInt32 <: JsonDeserializable<UInt32>

功能:为 UInt32 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): UInt32

功能:从 JsonReader 中读取一个 UInt32。

参数:

返回值:

  • UInt32 - UInt32 类型的实例。

异常:

  • OverflowException - 读取的数据超过范围时,抛出异常。

extend UInt64 <: JsonDeserializable<UInt64 >

extend UInt64 <: JsonDeserializable<UInt64>

功能:为 UInt64 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): UInt64

功能:从 JsonReader 中读取一个 UInt64。

参数:

返回值:

  • UInt64 - UInt64 类型的实例。

异常:

  • OverflowException - 读取的数据超过范围时,抛出异常。

extend UInt8 <: JsonDeserializable<UInt8>

extend UInt8 <: JsonDeserializable<UInt8>

功能:为 UInt8 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): UInt8

功能:从 JsonReader 中读取一个 UInt8。

参数:

返回值:

  • UInt8 - UInt8 类型的实例。

异常:

  • OverflowException - 读取的数据超过范围时,抛出异常。

extend UIntNative <: JsonDeserializable<UIntNative>

extend UIntNative <: JsonDeserializable<UIntNative>

功能:为 UIntNative 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): UIntNative

功能:从 JsonReader 中读取一个 UIntNative。

参数:

返回值:

  • UIntNative - UIntNative 类型的实例。

异常:

  • OverflowException - 读取的数据超过范围时,抛出异常。

extend<T> Array<T> <: JsonDeserializable<Array<T>> where T <: JsonDeserializable<T>

extend<T> Array<T> <: JsonDeserializable<Array<T>> where T <: JsonDeserializable<T>

功能:为 Array<T> 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): Array<T>

功能:从 JsonReader 中读取一个 Array。

参数:

返回值:

  • Array<T> - Array 类型的实例。

extend<T> ArrayList<T> <: JsonDeserializable<ArrayList<T>> where T <: JsonDeserializable<T>

extend<T> ArrayList<T> <: JsonDeserializable<ArrayList<T>> where T <: JsonDeserializable<T>

功能:为 ArrayList 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): ArrayList<T>

功能:从 JsonReader 中读取一个 ArrayList。

参数:

返回值:

  • ArrayList <T> - ArrayList 类型的实例。

extend<T> Option <T> <: JsonDeserializable<Option<T>> where T <: JsonDeserializable<T>

extend<T> Option<T> <: JsonDeserializable<Option<T>> where T <: JsonDeserializable<T>

功能:为 Option 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): Option<T>

功能:从 JsonReader 中读取一个Option。

参数:

返回值:

  • Option<T> - Option 类型的实例。

extend<T> HashMap<String, T> <: JsonDeserializable<HashMap<String, T>> where T <: JsonDeserializable<T>

extend<T> HashMap<String, T> <: JsonDeserializable<HashMap<String, T>> where T <: JsonDeserializable<T>

功能:为 HashMap 类型实现 JsonDeserializable 接口。

父类型:

static func fromJson(JsonReader)

public static func fromJson(r: JsonReader): HashMap<String, T>

功能:从 JsonReader 中读取一个 HashMap。

参数:

返回值:

  • HashMap<String, T> - HashMap<String, T> 类型的实例。

interface JsonSerializable

public interface JsonSerializable {
    func toJson(w: JsonWriter): Unit
}

功能:为类型提供序列化到 JSON 数据流的接口。

JsonWriter 搭配使用,JsonWriter 可以将实现了 JsonSerializable 接口的类型写入到 Stream 中。

func toJson(JsonWriter)

func toJson(w: JsonWriter): Unit

功能:将实现了 JsonSerializable 接口的类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend BigInt <: JsonSerializable

extend BigInt <: JsonSerializable

功能:为 BigInt 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 BigInt 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend Bool <: JsonSerializable

extend Bool <: JsonSerializable

功能:为 Bool 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 Bool 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend DateTime <: JsonSerializable

extend DateTime <: JsonSerializable

功能:为 DateTime 类型实现 JsonSerializable 接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:提供 DateTime 类型序列化到流的功能。

该接口的功能与 JsonWriterwriteConfig中的属性 dateTimeFormat有关联,将会把 DateTime 按照dateTimeFormat中的格式输出到目标流中,可以通过修改dateTimeFormat实现不同的格式控制。

参数:

extend Decimal <: JsonSerializable

extend Decimal <: JsonSerializable

功能:为 Decimal 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 Decimal 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend Float16 <: JsonSerializable

extend Float16 <: JsonSerializable

功能:为 Float16 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 Float16 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend Float32 <: JsonSerializable

extend Float32 <: JsonSerializable

功能:为 Float32 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 Float32 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend Float64 <: JsonSerializable

extend Float64 <: JsonSerializable

功能:为 Float64 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 Float64 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend String <: JsonSerializable

extend String <: JsonSerializable

功能:为 String 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 String 类型写入参数 w 指定的 JsonWriter 实例中。写入的String

参数:

extend Int16 <: JsonSerializable

extend Int16 <: JsonSerializable

功能:为 Int16 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 Int16 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend Int32 <: JsonSerializable

extend Int32 <: JsonSerializable

功能:为 Int32 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 Int32 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend Int64 <: JsonSerializable

extend Int64 <: JsonSerializable

功能:为 Int64 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 Int64 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend Int8 <: JsonSerializable

extend Int8 <: JsonSerializable

功能:为 Int8 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 Int8 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend IntNative <: JsonSerializable

extend IntNative <: JsonSerializable

功能:为 IntNative 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 IntNative 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend UInt16 <: JsonSerializable

extend UInt16 <: JsonSerializable

功能:为 UInt16 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 UInt16 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend UInt32 <: JsonSerializable

extend UInt32 <: JsonSerializable

功能:为 UInt32 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 UInt32 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend UInt64 <: JsonSerializable

extend UInt64 <: JsonSerializable

功能:为 UInt64 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 UInt64 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend UInt8 <: JsonSerializable

extend UInt8 <: JsonSerializable

功能:为 UInt8 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 UInt8 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend UIntNative <: JsonSerializable

extend UIntNative <: JsonSerializable

功能:为 UIntNative 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 UIntNative 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend<T> Array<T> <: JsonSerializable where T <: JsonSerializable

extend<T> Array<T> <: JsonSerializable where T <: JsonSerializable

功能:为 Array<T> 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 Array<T> 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend<T> ArrayList<T> <: JsonSerializable where T <: JsonSerializable

extend<T> ArrayList<T> <: JsonSerializable where T <: JsonSerializable

功能:为 ArrayList<T> 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 ArrayList<T> 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend<T> Option<T> <: JsonSerializable where T <: JsonSerializable

extend<T> Option<T> <: JsonSerializable where T <: JsonSerializable

功能:为 Option<T> 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 Option<T> 类型写入参数 w 指定的 JsonWriter 实例中。

参数:

extend<V> HashMap<String, V> <: JsonSerializable where V <: JsonSerializable

extend<V> HashMap<String, V> <: JsonSerializable where V <: JsonSerializable

功能:为 HashMap<String, T> 类型提供序列化到 JSON 数据流的接口。

父类型:

func toJson(JsonWriter)

public func toJson(w: JsonWriter): Unit

功能:将 HashMap<String, T> 类型写入参数 w 指定的 JsonWriter 实例中。

参数: