JSON

Swift中的JSON模型解析器

字号+ 作者:H5之家 来源:H5之家 2017-12-09 16:09 我要评论( )

CaesarParser CaesarParser 是一个框架采用 Swift 开发,用于解析JSON模型。 特性要 Cocoa Touch Framework requires iOS 8 or later. Manual add CaesarParser to your project requires iOS 7 or later. 基本用法 Any type that confirm Deserializable or

CaesarParser

CaesarParser 是一个框架采用 Swift 开发,用于解析JSON模型。

特性 要

Cocoa Touch Framework requires iOS 8 or later.

Manual add CaesarParser to your project requires iOS 7 or later.

基本用法

Any type that confirm Deserializable or Convertible protocol can be parse. Besides you can use custom value converter during parsing.

/// Use for Class, Nested Type public protocol Deserializable { init(json: JSONDictionary) } /// Use for Primitive Type public protocol Convertible { static func convert(json: JSONObject) -> Self? }

Any type that confirm Serializable can be parse to JSON.

/// convert to JSON object public protocol Serializable { func toJSONObject() -> JSONObject }

Build-in Support

Demo Code

enum Sex: Int { case Unknown = 0 case Male = 1 case Female = 2 } class Person: Deserializable, Serializable { var name: String var age: Int var birthday: Double var weight: Float var adult: Bool = false var sex: Sex = .Unknown var girlFriend: Person? var friends = [Person]() var luckyNumbers = [Int]() var favouredSingers = [String: Person]() var vips = [Int: Person]() var preferNumbers = [Int: Int]() var orientation = [Sex]() init(json: JSONDictionary) { name <-- json["name"] age <-- json["age"] birthday <-- json["birthday"] weight <-- json["weight"] adult <-- json["adult"] sex <-- json["sex"] girlFriend <-- json["girlFriend"] friends <-- json["friends"] luckyNumbers <-- json["luckyNumbers"] favouredSingers <-- json["favouredSingers"] vips <-- json["vips"] preferNumbers <-- json["preferNumbers"] orientation <-- json["orientation"] } func toJSONObject() -> JSONObject { var json = JSONDictionary() name --> json["name"] age --> json["age"] birthday --> json["birthday"] weight --> json["weight"] adult --> json["adult"] sex --> json["sex"] girlFriend --> json["girlFriend"] friends --> json["friends"] luckyNumbers --> json["luckyNumbers"] favouredSingers --> json["favouredSingers"] vips --> json["vips"] preferNumbers --> json["preferNumbers"] orientation --> json["orientation"] return json } }

Acknowledgements
  • JSONHelper CaesarParser is inspired by JSONHelper a lot, thanks for their great work.
  • License

    CaesarParser is available under the MIT license.



    项目地址: https://github.com/lancy/CaesarParser

    扩展阅读ObjectFromJSON - swift版本的JSON解析
    Swift的JSON 解析库:Gloss
    JSONExport:将 JSON 对象导出成模型类的 Mac OS X 桌面应用(Swift)
    Swift 简洁的JSON辅助库:BYJSON
    如何在 Swift 中优雅地处理 JSON
    为您推荐Vue.js基本语法的介绍
    Node.js 风格指南
    使用Bootstrap与ShieldUI创建销售业绩仪表板

    Dojo Mobile 1.7 入门
    更多CaesarParser
    Apple Swift开发

    同类热门新闻

  • 学习苹果Swift语言的一些在线资源(2014年9月10日更新)
  • 学习苹果Swift语言的一些在线资源
  • Swift 语言指南-Issue 35
  • Android开发周报:Play Store搜索广告推出、ListView源码解析
  • iOS开发周报:Apple 计划大幅更新 Swift 和 Cocoa API,Facebook 宣布将停止 Parse 服务
  • 最美应用-从Android研发工程师的角度之[厨房故事]
  • 同类热门经验

  • Swift语言指南
  • Swift 开发 iOS 应用教程
  • swift 学习资源 大集合
  • 采用Swift语言开发的天气iOS应用:SwiftWeather
  • iOS 通用缓存:HanekeSwift
  • Swift版的MJExtension,运行时、反射与一键字典模型互转:MJExtension-Swift
  • 阅读目录

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • JSON for java快速入门总结学习

      JSON for java快速入门总结学习

      2017-12-09 15:17

    • 树状大数据系统Steed与JSON数据处理

      树状大数据系统Steed与JSON数据处理

      2017-12-09 14:09

    • FastJson处理json

      FastJson处理json

      2017-12-08 18:01

    • IE8+只有在xhtml模式下才支持JSON对象

      IE8+只有在xhtml模式下才支持JSON对象

      2017-12-08 17:11

    网友点评
    r