• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 如何在 swift 4 中使用 json 对象发送 json 数据

[复制链接]
菜鸟教程小白 发表于 2022-12-11 20:43:31 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我需要按以下顺序将 json 发送到服务器

data:{"firstname":"Alpha","lastname":"Beta"}

enter image description here

在这种情况下,数据键在 [data:json] 之类的 json 之外,但是当我进行序列化时,它将请求作为

{
  "data" : {
    "firstname" : "alpha",
    "lastname" : "beta"
  }
}

这些是我的模型:

struct UserDetail :Codable {
    let data :CreateProfileModel
}

struct CreateProfileModel :Codable {
    let firstname :String
     let lastname :String
}

我在这些模型中添加的数据

let profileInfo = CreateProfileModel(firstname: "alpha" , lastname: "beta")

let userDetails = UserDetail(data: profileInfo)

这是我使用 swift 进行的 json 编码:

 let jsonEncoder = JSONEncoder()
 jsonEncoder.outputFormatting = .prettyPrinted
 do{
    let userData = try jsonEncoder.encode(userDetails)
     print(String(data: userData, encoding: .utf8)!)
     networkListener.requestPost(endpoint: endpoint, data: userData , headerValue: nil)
   }catch{
    print(error)
   }

在 requestPost 方法中

  func requestPost(endpoint : String , data ata,headerValue : String?){....
  request.httpbody = data
}

我正在将该数据添加到 request.httpbody

如何使用 profileInfo 添加数据键?



Best Answer-推荐答案


试试这个代码:

var columnValus:[String:Any]  = [:]

columnValus["firstname"] = userDetails.data.firstname
columnValus["lastname"] = userDetails.data.lastname

let userData = [
      "data": columnValus
      ] as [String : Any]

  do {
      let postData = try JSONSerialization.data(withJSONObject: userData, options: [])
      networkListener.requestPost(endpoint: endpoint, data: postData , headerValue: nil)
  }catch let error as NSError {
      print(error)
  }

关于ios - 如何在 swift 4 中使用 json 对象发送 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52985137/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap