Vaporシリーズチュートリアル-JSON

1875 ワード

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シリーズチュートリアル-ディレクトリ