OC JSON2Model 系列(1)

这个是一步一步来的,我们从普通的需求来做.
我们知道 JSON 中有 字符串,逻辑值,数字,对象,数组.
那么映射到 OC 中有 NSString,NSNumber,NSObject,NSArray.
我们先从最最最简单的开始做起.
假设有个 JSON

{
  "name":"hehe",
  "age":18,
  "school":{"name":"a school"},
  "array":["hehe","haha"]
}

然后我们定义一个 OC 对象

@interface User :NSObject
@property (nonatomic,copy)NSString *name;
//这里为什么不用 NSNumber 呢,自行 Google 下吧,不在这个系列的讨论范围内.
@property (nonatomic,assign) int age;  
@property (nonatomic,strong)NSDictionary *school;
@property (nonatomic,strong)NSArray *array;
@end

然后我们就可以通过 OC 的 KVC 来赋值了.
首先我们有两个方式来赋值
1.获取 User 的所有 property,假设为 properties
代码大致如此

User *user = [User new];
for (property in properties){
  id value = JSON[property];    //按照我们JSON 的写法,它将会是一个字典
  [user setValue:value forKey:property];
}

当然,实际使用中会这么简单吗?当然不会,有很多情况会出现的,所以不着急,我后面会慢慢完善这个系列的.
想起来就写吧,这个是躺在沙发上,用着 new MacBook 敲出来的.
千万不要把 nmb 当做主力机
千万不要把 nmb 当做主力机
千万不要把 nmb 当做主力机
这货无法胜任开发任务,但是写写文档什么的,体验是我目前遇到最好的机器.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文 序言 目 前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了。今年,找过工作人可能会更深刻地体会到...
    星空下的菜地阅读 3,182评论 3 42
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实...
    香橙柚子阅读 24,781评论 8 183
  • 关键词/关键类 1.#import跟#include有什么区别,@class呢,#import<>跟#import...
    丶逐渐阅读 1,603评论 0 1
  • 最近一段时间被毕业论文折磨的不似人形,倒不是说我耗费了多么大多么大的精力在这上面,而是被牢牢困住不能脱身,玩心太重...
    噗噗大王阅读 724评论 0 51
  • 大家许宏的这本小书,试图在叙述最早的“中国”何以诞生的过程中,去尝试回答最早的“中国”是怎么来的这个略显思辨的问题...
    梵曦FANXI阅读 298评论 0 0

友情链接更多精彩内容