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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,088评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,023评论 6 13
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,209评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 9,291评论 0 11
  • 这个设计模式我相信几乎是使用最多的一种了它是确保一个类中只有一个实例,一般用来读取配置,产生其它依赖对象可以避免对...
    Andy周阅读 1,337评论 0 0

友情链接更多精彩内容