iOS下JSON反序列化开源库

Posted llguanli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS下JSON反序列化开源库相关的知识,希望对你有一定的参考价值。

ios下JSON字符串反序列化成对象。在正式的项目中比較常见。例如以下几个经常使用开源库。能够依据个人喜好任选其一:

1.?JSONModel:?https://github.com/icanzilb/JSONModel

2.?MJExtension:?https://github.com/CoderMJLee/MJExtension

3.?Mantle:?https://github.com/Mantle/Mantle


当中,JSONModel对数组元素反序列化,须要定义一个跟数组元素Model的类名同样的@protocol

{
  "order_id": 104,
  "total_price": 103.45,
  "products" : [
    {
      "id": "123",
      "name": "Product #1",
      "price": 12.95
    },
    {
      "id": "137",
      "name": "Product #2",
      "price": 82.95
    }
  ]
}

@protocol ProductModel
@end

@interface ProductModel : JSONModel
@property (assign, nonatomic) int id;
@property (strong, nonatomic) NSString* name;
@property (assign, nonatomic) float price;
@end

@implementation ProductModel
@end

@interface OrderModel : JSONModel
@property (assign, nonatomic) int order_id;
@property (assign, nonatomic) float total_price;
@property (strong, nonatomic) NSArray<ProductModel, ConvertOnDemand>* products;
@end

@implementation OrderModel
@end


MJExtension号称“世界上转换速度最快、使用最简单方便的字典转模型框架”,有兴趣的能够看github下的详细说明。



以上是关于iOS下JSON反序列化开源库的主要内容,如果未能解决你的问题,请参考以下文章

C++ 基于rapidjson对json字符串的进行序列化与反序列化

Android -- 开源库fastjson 基本使用

Android -- 开源库fastjson 基本使用

Fastjson反序列化漏洞

阿里巴巴开源的 JSON 解析库 Fastjson 被曝高危漏洞,官方已发布安全公告

fastjson进行json的解析和序列化