如何将可映射数组转换为 JSON?

Posted

技术标签:

【中文标题】如何将可映射数组转换为 JSON?【英文标题】:How to convert array of mappables to JSON? 【发布时间】:2018-02-28 15:10:39 【问题描述】:

我在我的项目中使用 Objectmapper 和 Alamofire。 让我们有一个结构:

struct User: Mappable 
  var name = ""

  init?(map: Map) 

  mutating func mapping(map: Map) 
    name <- map["name"]
  

然后我想发出一个请求,将用户数组发送到服务器,如下所示:

var users = [User]()
...
let parameters = ?//i want to convert users array to JSON

Alamofire.request("https://httpbin.org/post", method: .post, parameters: parameters).responseJSON 
...

但我不知道如何将用户数组转换为参数以输入到 Alamofire 请求。

【问题讨论】:

【参考方案1】:

使用映射器将对象转换为字符串:

let user = User()
let userString = Mapper<User>.toJSONString(user)

要将其转换为 JSON:

let userJSON = Mapper<User>().toJSON(user)

您可以通过命令单击代码中的“Mapper”或转到Mapper.swift来查看ObjectMapper 提供的各种api。

【讨论】:

以上是关于如何将可映射数组转换为 JSON?的主要内容,如果未能解决你的问题,请参考以下文章

将可迭代的第一个 N 项转换为数组

Swift 将可选字符串转换为 Int

json对象,如何表示数组

AWS Glue 将字符串值从 postgres 转换为 json 数组

如何将可空类型隐式转换为不可空类型

flatMap API 合约如何将可选输入转换为非可选结果?