Swift Vapor 服务器:如何在获取请求中返回嵌套字典?

Posted

技术标签:

【中文标题】Swift Vapor 服务器:如何在获取请求中返回嵌套字典?【英文标题】:Swift Vapor server: how to return nested dictionaries in get request? 【发布时间】:2017-01-11 18:20:49 【问题描述】:

我开始在 Xcode 中使用 Vapor 来构建一个简单的服务器来支持我的应用程序。我正在尝试了解如何正确构建我可以在获取请求中返回的 JSON 对象。

我有以下几点:

drop.get  request in
    let date:TimeInterval = Date().timeIntervalSince1970
    let dictionary:[String:String] = ["name":"e2","age":"3"]
    return try JSON(node: [
        "time":date,
        "t1" : "abc",
        "t2" : dictionary
        ])

这不起作用,它告诉我“参数标签(节点:)不匹配任何可用的重载”

如何构建包含字符串、数字和嵌套字典的 JSON?

【问题讨论】:

【参考方案1】:

Node 对象初始化程序中的每个值也必须是 Node。你只需要在任何还不是节点的东西上调用makeNode()

return try JSON(node: [
    "time": date.makeNode(),
    "t1" : "abc",
    "t2" : dictionary.makeNode()
])

【讨论】:

以上是关于Swift Vapor 服务器:如何在获取请求中返回嵌套字典?的主要内容,如果未能解决你的问题,请参考以下文章

Vapor 3 Swift 4 如何制作计时器

Vapor:如何协调多个请求,直到完成一个中心请求

如何通过 Vapor 获取远程 IP

Vapor Swift - 从两个模型中获取数据

国内首个完整的 Swift 服务端开源项目及详解 - 基于 Vapor 3 框架

如何使用 Vapor 3 处理多部分请求