我有一个JSON
"passengers": [{
"accompaniedByInfant": true,
"birthDate": {
"day": 6,
"fractionalSecond": 0.000,
"hour": 0,
"minute": 0,
"month": 9,
"orig_day": 6,
"orig_fracSeconds": 0.000,
"orig_hour": 0,
"orig_minute": 0,
"orig_month": 9,
"orig_second": 0,
"orig_timezone": 330,
"orig_year": 1991,
"second": 0,
"timezone": 330,
"year": 1991
},
"hasStrecher": false,
"parentSequence": 0,
"passengerTypeCode": "ADLT",
"gender":"M"
"personName": {
"givenName": "v",
"nameTitle": "MR",
"shareMarketInd": false,
"surname": "j"
},
"requestedSeatCount": 1,
"shareMarketInd": false,
"unaccompaniedMinor": false
}, {
"accompaniedByInfant": false,
"birthDate": {
"day": 10,
"fractionalSecond": 0.000,
"hour": 0,
"minute": 0,
"month": 10,
"orig_day": 10,
"orig_fracSeconds": 0.000,
"orig_hour": 0,
"orig_minute": 0,
"orig_month": 10,
"orig_second": 0,
"orig_timezone": 330,
"orig_year": 2010,
"second": 0,
"timezone": 330,
"year": 2010
},
"hasStrecher": false,
"parentSequence": 0,
"passengerTypeCode": "CHLD",
"personName": {
"givenName": "some",
"shareMarketInd": false,
"surname": "child"
},
"requestedSeatCount": 1,
"shareMarketInd": false,
"unaccompaniedMinor": false
},
依乘客人数而定。
我必须将此邮件发送到
中的服务器let param : [String: Any] =[ "passengers":passengerparameterarray,"pwd": password,"requestPurpose": "MODIFY_PERMANENTLY_AND_CALC","unm": username ]
这里passengerparameterarray
是一个字符串类型的数组。(这是问题所在)。我将每个乘客的详细信息存储在一个数组中
paramarray
,并且每当用户完成添加详细信息时,paramarray
就会根据passengerparameterarray
的位置添加到indexPath
中。 (1位乘客=在第0个索引上加了2,在第0个和第1个索引上加了依此类推)。
但是当我将其发送到服务器时,就像
"passengers" : [ [ ..... ] ]
这给了我错误,因为我在数组内部有一个数组。我该如何解决?我尝试更改为字符串,但是由于"
位于{
之前,String不是JSON对象,因此出现了错误。
我将每个数组转换为JSON对象。但是我如何用JSON对象作为主数组呢?由于Main数组是[String]()
。如果我尝试更改为[String:Any]()
,诸如
array.insert()
不会工作。
该如何解决?我想将JSON对象添加到数组中,然后将其发送到服务器。
答案 0 :(得分:1)
尝试
var param : [String:Any] = ["requestedSeatCount" : 1, "gender" : "M", "parentSequence" : 0, "passengerTypeCode" : "ADLT", "shareMarketInd" : false]
param.updateValue(["nameTitle" : "MR", "givenName" : "aaaa", "surname" : "aaa"], forKey: "personName")
param.updateValue(["year" : "2019", "day" : "29", "month" : "5"], forKey: "birthDate")
答案 1 :(得分:0)
这是一个愚蠢的问题。这一切都是因为原来我的数组是
var passengerparameterarray = [Array<Any>]()
代替
var passengerparameterarray = Array<[String: Any]>()
谁按预期阻止了我插入“ String:Any”形式的JSON对象