【发布时间】:2019-06-13 12:35:31
【问题描述】:
我尝试使用 JSON 类型向服务器发出 put 请求,但它给了我错误。 这是错误详情。
由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'JSON 写入中的类型无效 (_SwiftValue)'
这是一个代码。
var attdList : JSON = [:]
...
var clientsAry = attdList["clients"]
...
let params = ["clients" : clientsAry, "submitted" : 1]
...
Alamofire.request(url + req_task, method: .put, parameters: params, encoding: JSONEncoding(options: []), headers:headers).responseJSON { response in
...
我打印了 params 变量,它显示如下。 有人可以帮忙吗?
▿ 1 element
▿ 0 : 2 elements
- key : "clients"
▿ value : [
{
"id" : null,
"hours" : "0",
"client" : {
"id" : 2,
"name" : "Anders Andersson"
}
},
{
"id" : null,
"hours" : "1",
"client" : {
"id" : 4,
"name" : "Gun Gunsson"
}
},
{
"id" : null,
"hours" : "2",
"client" : {
"id" : 3,
"name" : "Johan Johansson"
}
},
{
"id" : null,
"hours" : "3",
"client" : {
"id" : 1,
"name" : "Maria Martinsson"
}
}
]
▿ rawArray : 4 elements
▿ 0 : 3 elements
▿ 0 : 2 elements
- key : "id"
- value : <null>
▿ 1 : 2 elements
- key : "hours"
- value : "0"
▿ 2 : 2 elements
- key : "client"
▿ value : 2 elements
▿ 0 : 2 elements
- key : "id"
- value : 2
▿ 1 : 2 elements
- key : "name"
- value : Anders Andersson
▿ 1 : 3 elements
▿ 0 : 2 elements
- key : "id"
- value : <null>
▿ 1 : 2 elements
- key : "hours"
- value : "1"
▿ 2 : 2 elements
- key : "client"
▿ value : 2 elements
▿ 0 : 2 elements
- key : "id"
- value : 4
▿ 1 : 2 elements
- key : "name"
- value : Gun Gunsson
▿ 2 : 3 elements
▿ 0 : 2 elements
- key : "id"
- value : <null>
▿ 1 : 2 elements
- key : "hours"
- value : "2"
▿ 2 : 2 elements
- key : "client"
▿ value : 2 elements
▿ 0 : 2 elements
- key : "id"
- value : 3
▿ 1 : 2 elements
- key : "name"
- value : Johan Johansson
▿ 3 : 3 elements
▿ 0 : 2 elements
- key : "id"
- value : <null>
▿ 1 : 2 elements
- key : "hours"
- value : "3"
▿ 2 : 2 elements
- key : "client"
▿ value : 2 elements
▿ 0 : 2 elements
- key : "id"
- value : 1
▿ 1 : 2 elements
- key : "name"
- value : Maria Martinsson
- rawDictionary : 0 elements
- rawString : ""
- rawNumber : 0
- rawNull : <null>
- rawBool : false
- type : SwiftyJSON.Type.array
- error : nil
【问题讨论】:
-
你在用
swiftyJSON吗?clientsAry是什么类型的? -
是的,我使用的是 SwiftyJSON,clientAry 是 JSON 类型,我认为如上结果所示。
-
对不起,我已经查过了,还没有找到答案
-
你应该把
clientsAry的JSON类型转换成Array<Dictionary[String:String]>
标签: ios json swift swifty-json