如何修复“字典文字包含重复键”?
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
]
【讨论】:
以上是关于如何修复“字典文字包含重复键”?的主要内容,如果未能解决你的问题,请参考以下文章