首页 > 解决方案 > 测试 POST 请求的正确数组结构

问题描述

我正在制作一个新的帖子页面,我将在其中将数据发送到 API。

POST 正文参数是这样的:

{
    "user": "some user",
    "hashTag": "some hashtag",
    "description": "some text",
    "images": [{
        "postImageURL": "some url",
        "tag": [{
            "tagId": "some id",
            "name": "some name",
            "xPosition": "",
            "yPosition": ""
        }]
    }]
}

现在我发送这个数组:

 func postTap() {
        let parameters: [String:Any] = ["user": "some user",
                                        "hashTag": "somehashtag",
                                        "description": "some text",
                                        "images": []]

// Some code... JSONSerialization and etc...
}

如何在参数数组中添加图片、postImageUrl、标签等属性?

如果您能分享学习 json 结构(嵌套/扁平)以及如何正确解析它们的基本资源,那就太好了。先感谢您

标签: iosarraysjsonswiftparsing

解决方案


我发现最简单的方法是创建一个 Encodable 结构,并用你想要的值填充它。您可以一次性将其序列化为 JSON:

struct Tag: Encodable {
    let id: String
    let name: String
    let xPosition: String
    let yPosition: String
}

struct Image: Encodable {
    let postImageURL: String
    let tags: [Tag]
}

struct PostItem: Encodable {
    let user: String
    let hashTag: String
    let description: String
    let images: [Image]
}

推荐阅读