在将数组发送到API端点之前对其进行序列化



我正在向API端点发送一个数组,但是该数组没有正确通过。以下是我的文件:

用户:名字电子邮件

在我的例子中,我有一个包含两个用户的swift数组:
po userArray
▿ 2 elements
  ▿ [0] : <User: 0x7fa3ab597fd0>
  ▿ [1] : <User: 0x7fa3ab597bb0>

服务器期望的JSON是:

{users: [ {name:'john', email:'john@example.com'}, {name:'tom', email: 'tom@example.com' }]

发送内容:

'users' : userArray

但是似乎有一个序列化问题。服务器从我这里得到的是:

'users': ['MyApp.User', 'MyApp.User']

我正在使用AlamoFire发送我的PUT请求。

我需要做转换数组JSON发送出去之前?我是Swift的新手,任何帮助都很感激。

您需要将User对象转换为字典。那么您应该添加的值不是用户数组,而是字典数组。

您需要为自定义类User重写description属性

class User : NSObject
{ 
   var name : String
   var age : String
   override var description : String
   {
      get{
         return ["name" : self.name, "age" : self.age].description
      }
   }
}

相关内容

  • 没有找到相关文章

最新更新