0

我正在[String: AnyObject]通过以下方式创建嵌套:

let info = ["para1": test(String) as AnyObject,
            "para2": test(String) as AnyObject]

let paramater = ["para_info": info([String: AnyObject]) as AnyObject,
                    "product_id": test(String) as AnyObject,
                    "amount": test(String) as AnyObject]

使用其中info是嵌套的参数,但以以下方式请求它作为POST请求被视为具有嵌套 Dictionary 的数组[String: AnyObject]

try JSONEncoding.default.encode(urlRequest, withJSONObject: parameters)

那么,我[String: AnyObject]是否正确创建了嵌套?

4

1 回答 1

0

由于您明确希望它为 [String:AnyObject]:

  var dict: [String:AnyObject] = ["messageCode":"API_200" as AnyObject,
                                "data": ["activities": [["action":1,
                                                         "state":1]],
                                         "messages": [["body":"hi"]]] as AnyObject,
                                "message": "" as AnyObject]

基本上所有的根值都应该被类型转换为 AnyObject

或者很长的路:

   //Activities is as Array of dictionary with Int values
var activities = [[String:Int]]()
activities.append(["action": 1,
                   "state": 1])

//Messages is an Array of string
var messages = [[String:String]]()
messages.append(["body" : "hi"])

//Data is dictionary containing activities and messages
var data = [String:Any]()
data["activities"] = activities
data["messages"] = messages

//Finally your base dictionary
var dict = [String:AnyObject]()
dict["messageCode"] = "API_200" as AnyObject
dict["data"] = data as AnyObject
dict["message"] = "" as AnyObject
print(dict)
于 2018-11-29T10:56:09.803 回答