Vapor系列教程 - JSON

Swift国内社区: SwiftMic


Vapor 支持 JSON 类型,可直接使用。

JSON -> String


let json = try JSON(node: [
        "null": nil,
        "bool": false,
        "string": "Hello World",
        "int": 18,
        "double": 3.14,
        "object": JSON([
            "nested": "text"
            ]),
        "array": JSON(node: [nil, true, 123, "yes"])
        ])
    
let serialized = try json.makeBytes().string

print("\(serialized)")

输出

{"double":3.14,"object":{"nested":"text"},"int":18,"string":"Hello World","null":null,"bool":false,"array":[null,true,123,"yes"]}

String -> JSON


let serialized = "{\"name\":\"zzbTest\"}"
let json = try JSON(bytes: serialized.bytes)

print("\(json)")

输出

object(["name": JSON.JSON.string("zzbTest")])

Request


如果 Request Body 中包含 JSON 数据,可直接通过 Request 获取 JSON 数据。

假设 Body 数据为

{
    "name": "zzbTest",
    "pwd": "123456"
}

访问

let name = request.data["name"].string
let pwd = request.data["pwd"].string

print("name = \(name)")
print("pwd = \(pwd)")

输出

name = Optional("zzbTest")
pwd = Optional("123456")

Response


如果 Response 返回的格式是 JSON 格式,可直接返回 JSON 对象。

drop.get("json") { request in
    return try JSON([
        "name": "zzbTest"
    ])
}

访问 http://localhost:8080/json 将显示

{"name":"zzbTest"}

注意: 具体访问地址以实际配置为主)


Go to Vapor系列教程 - 目录

你可能感兴趣的:(Vapor系列教程 - JSON)