Swift Platforms Swift Package Manager

URLEncodedForm

解析和序列化 URL 编码的表单数据,支持 Codable。

🙏🏻 注意

安装

Swift Package Manager 是一个用于自动化 Swift 代码分发的工具,并且已集成到 swift 编译器中。

一旦你设置好了你的 Swift 包,添加 Alamofire 作为依赖项就像将其添加到你的 Package.swiftdependencies 值中一样简单。

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