Json 关联数组在swift中工作不正常
我想在API请求时传递关联数组值 我在上面传递以下值Json 关联数组在swift中工作不正常,json,swift,xcode,alamofire,Json,Swift,Xcode,Alamofire,我想在API请求时传递关联数组值 我在上面传递以下值 var myArray = [[String:AnyObject]]() for answer in answeredQuestions{ for pushingValue in answer.answers{ if pushingValue.getIsChecked(){ let dict = ["questionID":"\
var myArray = [[String:AnyObject]]()
for answer in answeredQuestions{
for pushingValue in answer.answers{
if pushingValue.getIsChecked(){
let dict = ["questionID":"\(answer.id)" as AnyObject,
"answerID":"\(pushingValue.id)" as AnyObject]
myArray.append(dict)
}
}
}
"<pre>Array\n(\n
[data] => Array\n
(\n
[0] => Array\n (\n [answerID] => 1\n )\n\n
[1] => Array\n (\n [questionID] => 1\n )\n\n
[2] => Array\n (\n [answerID] => 3\n )\n\n
[3] => Array\n (\n [questionID] => 2\n )\n\n
)\n\n [userID] => 28\n)\n"
并附加用户id,如下所示:
func answerToTheQuestion(answer:[Any]){
let parameters: [String: Any] = [
"userID" : UserDefaults.standard.string(forKey: "userID")!,
"data": answer
]
}
当我试图从api返回相同的值时,我得到的东西是错误的。如下图所示
告诉我有什么问题吗
“数组\n(\n
[数据]=>数组\n
(\n
[0]=>Array\n(\n[answerID]=>1\n)\n\n
[1] =>数组\n(\n[问题ID]=>1\n)\n\n
[2] =>数组\n(\n[应答ID]=>3\n)\n\n
[3] =>数组\n(\n[问题ID]=>2\n)\n\n
)\n\n[userID]=>28\n\n“
有什么问题吗?对吗
当我在Rest客户机上传递它时,我将以以下方式得到响应
数组
(
[userID]=>28
[数据]=>阵列
(
[0]=>阵列
(
[问题ID]=>1
[回答]=>1
)
[1] =>阵列
(
[问题ID]=>2
[回答]=>3
)
)
)
Rest客户端响应结构是完美的。这就是我想要的。但是当我尝试使用Alamofire使用it应用程序时,我遇到了前面提到的错误格式。首先,Swift 3中字典的正确类型是
[String:Any]
而不是[String:AnyObject]
。顺便说一句,如果您的字典值总是字符串,请将其声明为[string:string]
。第二,为什么要使用任意[Any]
的数组?[Any]意味着,有时它会以字符串的形式出现,有时它会以数组的形式出现。所以,我把它称为[任何]。
<pre>Array
(
[userID] => 28
[data] => Array
(
[0] => Array
(
[questionID] => 1
[answerID] => 1
)
[1] => Array
(
[questionID] => 2
[answerID] => 3
)
)
)