如何在Objectmapper中传递数组?

时间:2018-01-22 06:56:32

标签: swift objectmapper

以下格式,我必须通过objectMapper

[     {          " CartDataTableId":19,    } ]

遵循CodeMapper的代码

class getCartChrgesPostData: Mappable {

    lazy var CartTableDataId         : Int? = 0


    required init() {
    }
    required init?(map: Map) {
    }

    func mapping(map: Map) {
        CartTableDataId              <- map["CartTableDataId"]
    }
}

    func getDeliverYCharges(){
        for name in MyCartVC.objCartResponse.GetCartdetails! {
            let objRequestModel2 : getCartChrgesPostData = getCartChrgesPostData()
            objRequestModel2.CartTableDataId =  name.CartTableDataId!
            // let parameters = [["CartDataTableId": name.CartTableDataId!]] as [[String : Any]]
            let objCartDataProvider: CartDataProvider = CartDataProvider()
            objCartDataProvider.getCartChargesMethod(objRequestModel: objRequestModel2, IsLoader: true, viewController: self) { (responce, IsSucess) -> Void in
                if IsSucess! {
                    print(responce?.GetCartdetails!)
                } else {
                }
            }
        }
    }    

通过使用上述方法我传递数据但发送为 [          &#34; CartDataTableId&#34;:19,    ]

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望将getCartChrgesPostData个对象的数组作为JSON参数发送:

[
  {
    "CartTableDataId" : 19
  }
]

而不是getCartChrgesPostData对象:

{
    "CartTableDataId" : 19
}

您可以在toJSON()对象数组上使用toJSONString()getCartChrgesPostData函数,例如:

let object = getCartChrgesPostData()
object.CartTableDataId = 19
print([object].toJSONString(prettyPrint: true) ?? "")
print([object].toJSON())

结果JSON将是理想的。

希望这有帮助。