我该如何修复“字典文字包含重复键”?
How do i fix " Dictionary literal contains duplicate keys "?
我正在尝试通过 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".. 来了两次。我如何解决它?我在 Whosebug 中回答了几个问题,但他们都在谈论从服务器获得这种响应。但是我在这里尝试将它发送到服务器。
那么我该如何解决这个问题?
{
"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
]
我正在尝试通过 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".. 来了两次。我如何解决它?我在 Whosebug 中回答了几个问题,但他们都在谈论从服务器获得这种响应。但是我在这里尝试将它发送到服务器。
那么我该如何解决这个问题?
{
"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
]