如何修复“字典文字包含重复键”?

Posted

技术标签:

【中文标题】如何修复“字典文字包含重复键”?【英文标题】:How do i fix " Dictionary literal contains duplicate keys "? 【发布时间】:2019-05-30 12:12:46 【问题描述】:

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

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".. 出现两次。我如何解决它?我在 *** 中问了几个问题,但他们都在谈论从服务器获得这种响应。但是在这里我试图将它发送到服务器。

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


    "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。

谢谢。

【问题讨论】:

"email" : ["email" 嵌套在另一个字典中。那不是问题。你有两次"flight1" 键。 "flight1" : selectedflightjson,"flight1" : selectedflightjsonRM @RajeshKumarR 哦,抱歉这个愚蠢的问题。我没有看到。很抱歉浪费了您的时间。感谢您的帮助。 【参考方案1】:

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

    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
    ]

【讨论】:

以上是关于如何修复“字典文字包含重复键”?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复drv?

如何修复 npm 审计修复问题?

如何修复WMI

如何修复AppScan漏洞

如何在DOS环境下修复系统

如何修复这些漏洞? (npm audit fix 无法修复这些漏洞)