ios - 如何修复 "Dictionary literal contains duplicate keys "?

标签 ios arrays swift alamofire nsdictionary

我正在尝试通过 alamofire 发送我的参数,并且在我的参数中,有一个重复的键。我需要传递该 key ,但每当我尝试它时,就会弹出错误。

let param : [String: Any] = ["contactPerson": [ "email":[ "email": contactemail], "markedForSendingRezInfo": false,"preferred": false,"shareMarketInd": false], "personName": ["givenName": contactname,"shareMarketInd": false,"surname": contactlastname],"phoneNumber":["countryCode": contactcountrycode,"markedForSendingRezInfo": false,"preferred": false,"shareMarketInd": false,"subscriberNumber": contactphone],"shareMarketInd": false,"useForInvoicing": false,"curr":"USD","flight1" : selectedflightjson,"flight1" : selectedflightjsonRM,"passengers":[passengerparameterarray],"pwd": password,"requestPurpose": "MODIFY_PERMANENTLY_AND_CALC","unm": username
        ]

这是我的代码,“email”:[“email”..出现两次。我如何解决它?我在 StackOverflow 上问了几个问题,但他们都谈到从服务器获取这种响应。但在这里我试图将其发送到服务器。

那么我该如何解决这个问题呢?

{
    "contactPerson": {
        "email": {
            "email": "a@gmail.com",
            "markedForSendingRezInfo": false,
            "preferred": false,
            "shareMarketInd": false
        },
        "personName": {
            "givenName": "v",
            "shareMarketInd": false,
            "surname": "j"
        },
        "phoneNumber": {
            "countryCode": "1",
            "markedForSendingRezInfo": false,
            "preferred": false,
            "shareMarketInd": false,
            "subscriberNumber": "123456789"
        },
        "shareMarketInd": false,
        "useForInvoicing": false
    },

这是我的 json 的一部分。 [passengerparameterarray] 也有同样的问题,如果我将 [passengerparameterarray] 转换为 json 并将其传递给此参数,它会起作用吗?我已经将“selectedflightjson”作为 Json 传递,因为这是一个肥皂 API。

谢谢。

最佳答案

您必须按如下方式管理您的对象:

    let param : [String: Any] =
        [
            "contactPerson": [
                "email": [
                    "email": contactemail,
                    "markedForSendingRezInfo": false,
                    "preferred": false,
                    "shareMarketInd": false
                ],
            "personName": [
                "givenName": contactname,
                "shareMarketInd": false,
                "surname": contactlastname
            ],
            "phoneNumber": [
                "countryCode": contactcountrycode,
                "markedForSendingRezInfo": false,
                "preferred": false,
                "shareMarketInd": false,
                "subscriberNumber": contactphone
            ],
            "passengers": [
                passengerparameterarray
            ],
            "shareMarketInd": false,
            "useForInvoicing": false,
            "curr": "USD",
            "flight1": selectedflightjson,
            "flight2": selectedflightjsonRM,
            "pwd": password,
            "requestPurpose": "MODIFY_PERMANENTLY_AND_CALC",
            "unm": username
    ]

关于ios - 如何修复 "Dictionary literal contains duplicate keys "?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56378112/

相关文章:

ios - Rally api 以获取 Release Burnup 的数据

iphone - 当用户在 iOS 5 上锁定屏幕时 applicationMusicPlayer 停止

objective-c - 是否可以在 Objective-C 中动态实现协议(protocol)?

c - 结构选项错误 : array type has incomplete element type

ios - 重建 Realm 数据库

swift - 使用 AVMutableComposition 将音轨合并到单个轨道中

ios - 从 1 表 w.r.t 表 2 过滤数据的 Realm 子查询

ios - 重新排列数组中的字母并检查排列是否在数组中

C# 如果数组是按引用传递的,为什么参数数组必须用修饰符 ref 传递?

ios - Swift 中的 API 网关,什么是 AWSModel 的最佳实践