解析和序列化 URL 编码的表单数据,支持 Codable。
Swift Package Manager 是一个用于自动化 Swift 代码分发的工具,并且已集成到 swift 编译器中。
一旦你设置好了你的 Swift 包,添加 Alamofire 作为依赖项就像将其添加到你的 Package.swift 的 dependencies 值中一样简单。
dependencies: [
.package(url: "https://github.com/interactord/URLEncodedForm", .upToNextMajor(from: "1.0.0"))
]
它支持 Swift Foundation 提供的 Codable。
struct MyInfo: Codable {
let height: Double
let name: String
let friends: [String]
let family: Family
struct Family: Codable {
let names: [String]
}
}
let me = MyInfo(
height: 172.2,
name: "Scott",
friends: ["tom", "john", "mike"],
family: .init(
names: ["Father", "Mother", "Brother"]))
do {
let data = try URLEncodedFormEncoder().encode(me)
print(String(data: data, encoding: .utf8) ?? "nil")
let origin = "name=Scott&height=172.2&friends[]=tom&friends[]=john&friends[]=mike&family[names][]=Father&family[names][]=Mother&family[names][]=Brother"
let obj = try URLEncodedFormDecoder().decode(MyInfo.self, from: origin)
print(obj)
} catch {
print(error)
}
URLEncodedForm 在 MIT 许可证下发布。有关详细信息,请参见 LICENSE。