以下是我需要发布的JSON:
{
"results": [
{
"case_id": 1,
"status_id": 5,
"comment": "This test failed"
},
{
"case_id": 2,
"status_id": 1,
"comment": "This test passed",
},
..
{
"case_id": 1,
"assignedto_id": 5,
"comment": "Assigned this test to Joe"
}
..
]
}
我试着做的是:
let parameters = [
"results" : data
] as [String : Any]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
这里,data是一个类型为(data:[param])的结构数组:
struct param {
var status_id: Int
var case_id: String
var comment: String
}
代码在JSONSerialization时失败。它进入catch()块。我试着给出这样的参数,结果成功了,
let parameters = [ "results" : [
[
"case_id": "20275",
"status_id": 5,
"comment": "This test failed"
],
[
"case_id": "20276",
"status_id": 1,
"comment": "This test passed",
],
]] as [String : Any]
我如何复制这种结构?因为我无法硬编码状态id和大小写id的值。我将状态id和大小写id存储在数组中。我认为创建一个结构数组并替换id值就足够了,不幸的是它不起作用。那么我该如何发布数据呢?
最佳答案
“param”应该是字典而不是struct。
请求正文数据类型为:[String:[[String,Any]]]