接口
interface JsonDeserializable<T>
public interface JsonDeserializable<T> {
static func fromJson(r: JsonReader): T
}
功能:此接口用于实现从 JsonReader 中读取一个仓颉对象。
支持的对象类型包括:
-
基本数据类型:整数类型、浮点类型、布尔类型、字符串类型。
-
DateTime 类型。
static func fromJson(JsonReader)
static func fromJson(r: JsonReader): T
功能:从参数 r
指定的 JsonReader 实例中读取一个 T
类型对象。
参数:
- r: JsonReader - 读取反序列化结果的 JsonReader 实例。
返回值:
- T -
T
类型的实例。
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)。
参数:
- r: JsonReader - 读取反序列化结果的 JsonReader 实例。
返回值:
- DateTime - DateTime 类型的实例。
异常:
- TimeParseException - 无法正常解析时,抛出异常。
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 实例中。
参数:
- w: JsonWriter - 写入序列化结果的 JsonWriter 实例。
extend DateTime <: JsonSerializable
extend DateTime <: JsonSerializable
功能:为 DateTime 类型实现 JsonSerializable 接口。
func toJson(JsonWriter)
public func toJson(w: JsonWriter): Unit
功能:提供 DateTime 类型序列化到流的功能。
该接口的功能与 JsonWriter 的 writeConfig中的属性 dateTimeFormat有关联,将会把 DateTime 按照dateTimeFormat中的格式输出到目标流中,可以通过修改dateTimeFormat实现不同的格式控制。
参数:
- w: JsonWriter - 写入序列化结果的 JsonWriter 实例。