ios - 测试 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 结构(嵌套/扁平)以及如何正确解析它们的基本资源,那就太好了。先感谢您
解决方案
我发现最简单的方法是创建一个 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]
}
推荐阅读
- javascript - 如何找到一种过滤数组与另一个数组比较的方法
- java - Java String...关于方法的多个输入的问题
- amazon-web-services - Velocity Apache 访问地图中不存在的元素
- python - 尝试运行 --help 命令时出现 -bash 错误
- html - 使用 Ajax 在 Nodejs Express 项目中提交失败后无法保存表单输入
- json - 从 terraform 中的嵌套 json 中提取值
- python - 递归枚举JSON层次结构父/子到字典
- textures - Meshlab 选择替代纹理
- firebase - axios firebase 刷新令牌授权标头未覆盖
- flutter - Flutter - 与脚手架堆栈