以下是我需要发布的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]]]

10-04 22:25
查看更多