简体   繁体   English

Alamofire请求JSON

[英]Alamofire request JSON

I need to make a request to the following JSON 我需要向以下JSON发出请求

{
"usuario": {
    "nmeUsuario": "name",
    "username": "TestUsername",
    "senha": "46070d4bf934fb0d4b06d9e2c46e346944e322444900a435d7d9a95e6d7435f5"
},
"sistemaId": "2",
"contatos": [
    {
        "desContato": "test@test.com",
        "idTipoContato": {
            "idTipoContato": 1
        }
    }
]

} }

I tried the following code 我尝试了以下代码

let senha = "46070d4bf934fb0d4b06d9e2c46e346944e322444900a435d7d9a95e6d7435f5"
let usuario = ["nmeUsuario":"name","username":"TestUsername","senha":senha]
let idContato = ["idContato":1]
let idTipoContato = ["idTipoContato":idContato]
let desContato = ["desContato":"test@test.com"]
let contato = [desContato, idTipoContato]
let parameters = ["usuario":usuario,"sistemaId":"2", "contatos":contato]
Alamofire.request(.POST, url, parameters: parameters, encoding: .JSON).response { (request, response, data, error) in
        var datastring = NSString(data: request.HTTPBody!, encoding:NSUTF8StringEncoding)
        println(datastring)
    }

however the json in request.HTTPBody looks like this: 但是request.HTTPBody中的json看起来像这样:

{
"usuario": {
    "nmeUsuario": "name",
    "senha": "46070d4bf934fb0d4b06d9e2c46e346944e322444900a435d7d9a95e6d7435f5",
    "username": "TestUsername"
},
"sistemaId": "2",
"contatos": [
    {
        "desContato": "test@test.com"
    },
    {
        "idTipoContato": {
            "idContato": 1
        }
    }
]

} }

Is there any way to solve this problem? 有什么办法解决这个问题?

Thanks 谢谢

Since you want contatos 's array to contain a single dictionary, you need to declare your objects like this: 由于您希望contatos的数组包含一个字典,因此需要这样声明您的对象:

let senha = "46070d4bf934fb0d4b06d9e2c46e346944e322444900a435d7d9a95e6d7435f5"
let usuario = ["nmeUsuario":"name","username":"TestUsername","senha":senha]
let desContato = ["desContato":"test@test.com", "idTipoContato": ["idContato":1]]
let parameters = ["usuario":usuario,"sistemaId":"2", "contatos": [desContato]]

Result: 结果:

{ "usuario" : { "nmeUsuario" : "name", "senha" : "46070d4bf934fb0d4b06d9e2c46e346944e322444900a435d7d9a95e6d7435f5", "username" : "TestUsername" }, "sistemaId" : "2", "contatos" : [ { "idTipoContato" : { "idContato" : 1 }, "desContato" : "test@test.com" } ] } {“ usuario”:{“ nmeUsuario”:“ name”,“ senha”:“ 46070d4bf934fb0d4b06d9e2c46e346944e322444900a435d7d9a95e6d7435f5”,“ username”:“ TestUsername”},“ sistemaId”:“ 2”,conta { “ idContato”:1},“ desContato”:“ test@test.com”}]}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM