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系列教程 - 目录