ios - 在 Swift 中创建 JSON 参数

标签 ios json swift

我想通过帖子调用 API 并为其提供有关正文的参数。我需要以下样式的参数。

"linked_users": [ "5dc73d6e1c20540b24336681", "5dca64f4bf98ec2ada3b315e"]

在 Postman 中,上面的 json 可以正常工作,但如果我用 Swift 创建它,我会从 API 收到错误的请求解析错误。

var linkedUserString = ""

if let data = try? JSONSerialization.data(withJSONObject: stringArray, options: []){
    if let json = String(data: data, encoding: String.Encoding.utf8)
    {
        linkedUserString = json
    }
}

linkedUserString 的值为

"[\"5dc73d6e1c20540b24336681\",\"5dca64f4bf98ec2ada3b315e\"]"

此字符串通过 Codable 转换为带有其他参数的最终正文值。

- description : "location description"
  ▿ location : LocationCodable
    - latitude : "0.0"
    - longitude : "0.0"
    - description : "Test Ort"
- linked_users : "[\"5dc73d6e1c20540b24336681\",\"5dca64f4bf98ec2ada3b315e\"]"

如果我调用不带 linked_users 参数的 API,它可以正常工作。

有人知道我做错了什么吗?

最佳答案

制作正确的模型:

struct Model: Codable {

    var description: String!
    var location: LocationCodable!
    var linked_users: [String]!
}

并对它进行编码,而不是对参数linked_users本身进行编码。

关于ios - 在 Swift 中创建 JSON 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59912211/

相关文章:

ios - 授予地址簿请求后获取用户自己的电话号码信息

ios - 获取值在 UISlider 上的 X、Y 位置

ios - 降低多个 if else 语句的圈复杂度

ios - UIView 的高度限制打破了 subview 的高度限制

iOS,如何正确支持多语言

ios - 为什么我的 UIColor 无法正确创建?

ios - 有没有办法实时控制iPhone振动的强度

ruby-on-rails - 发送邮件失败时的 HTTP 状态码

javascript - 将 C# List<string> 转换为 Javascript

python - 奇怪的 JSON 到 CSV 的转换