Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

接口

interface ToJson

public interface ToJson {
    static func fromJson(jv: JsonValue): DataModel
    func toJson(): JsonValue
}

功能:用于实现 JsonValueDataModel 的相互转换。

static func fromJson(JsonValue)

static func fromJson(jv: JsonValue): DataModel

功能:将 JsonValue 转化为对象 DataModel

参数:

返回值:

func toJson()

func toJson(): JsonValue

功能:将自身转化为 JsonValue

返回值:

异常:

extend DataModel <: ToJson

extend DataModel <: ToJson

功能:为 DataModel 类型实现 ToJson 接口。

父类型:

static func fromJson(JsonValue)

public static func fromJson(jv: JsonValue): DataModel

功能:将 JsonValue 转化为对象 DataModel

参数:

返回值:

示例:

import stdx.serialization.serialization.*
import stdx.encoding.json.*
import std.collection.*

main() {
    var fields = HashMap<String, JsonValue>()
    fields.add("name", JsonString("张三"))
    fields.add("tel", JsonString("10000000000"))

    // 使用HashMap创建新的JsonValue对象
    var jsonObject: JsonObject = JsonObject(fields)

    // JsonValue还原回DataModel
    let dataModel = DataModel.fromJson(jsonObject)
    let data = HashMap<String, String>.deserialize(dataModel)
    println("数据: ${data}")
    return 0
}

运行结果:

数据: [(name, 张三), (tel, 10000000000)]

func toJson()

public func toJson(): JsonValue

功能:将自身转化为 JsonValue

返回值:

异常:

示例:

import stdx.serialization.serialization.*
import std.collection.*
import stdx.encoding.json.*

main() {
    // 创建一个ArrayList并添加一些DataModel
    let list = ArrayList<DataModel>()
    list.add(DataModelString("元素1"))
    list.add(DataModelString("元素2"))

    // 使用ArrayList创建DataModelSeq实例
    let dataModel = DataModelSeq(list)

    // 将DataModelSeq转换为JsonValue
    let jsonValue = dataModel.toJson()

    let kind = jsonValue.kind()
    match (kind) {
        case JsonKind.JsArray => println("JsonValue的类型是JsArray")
        case _ => println("JsonValue的类型不是JsArray")
    }
    println("JsonValue: ${jsonValue.toJsonString()}")
    return 0
}

运行结果:

JsonValue的类型是JsArray
JsonValue: [
  "元素1",
  "元素2"
]