RxJSON 2.0.0

RxJSON 2.0.0

测试已测试
语言语言 SwiftSwift
许可 MIT
发布日期最后发布日期2019年6月
SPM支持 SPM

Suyeol Jeon 维护。



RxJSON 2.0.0

  • Suyeol Jeon

RxJSON

Swift CocoaPods Build Status codecov

RxSwift 的 JSON 包装器。

快速了解

这是一个将 JSON 字典可观察对象转换为字符串可观察对象的示例

URLSession.shared.rx.json(url: "https://api.github.com/repos/ReactorKit/ReactorKit")
  .mapJSON("owner")              // Observable<Any> -> Observable<Any>
  .mapJSON("login", String.self) // Observable<Any> -> Observable<String>
  .bind(to: ownerNameLabel.rx.text)

mapJSON() 支持JSON字典和数组

// Dictionary
Observable<Any>.mapJSON("key")           // Observable<Any>
Observable<Any>.mapJSON("key", Int.self) // Observable<Int>

// Array
Observable<Any>.mapJSON(at: 2)              // Observable<Any>
Observable<Any>.mapJSON(at: 3, String.self) // Observable<String>

mapJSON() 如果指定访问器没有值或无法转换到指定类型,将抛出 RxJSONError

// Dictionary
source.mapJSON("unknownKey")    // Event.error(RxJSONError.valueNotFound)
source.mapJSON("name", Int.key) // Event.error(RxJSONError.castingFailed)

// Array
source.mapJSON(at: -1)          // Event.error(RxJSONError.valueNotFound)
source.mapJSON(at: 0, Int.key)  // Event.error(RxJSONError.castingFailed)

安装

贡献

任何讨论和拉取请求都非常欢迎💖

创建 Xcode 项目

$ swift package generate-xcodeproj

许可协议

RxJSON 采用 MIT 许可协议。更多信息请查看LICENSE文件。