iosiOS开发工具iOS开发

iOS_黑(8)_SON数据处理,一条龙服务

2016-08-03  本文已影响404人  丶纳凉

一丶简介

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。_摘抄自百度;

iOS对JSON数据的处理,我把它分为以下几个步骤

1.获取json数据;
2.建立模型;
3.连接数据;
4.生成description

二丶开始上干货

1.获取JSON数据:

1.1为了方便查看JSON数据可以使用以下网址:
可以格式化JSON代码
JSON在线解析及格式http://json.cn/
JSON在线编辑器http://www.qqe2.com/

示例数据
{
  "array": [
    1,
    2,
    3
  ],
  "sex": true,
  "age": 12,
  "id":95757,
  "other": {
    "a": "b",
    "c": "d",
    "e": "f"
  },
  "speak": "Hello World"
}

2.建立模型

这里介绍2种自动生成属性方式:
2.1 插件
ESJsonFormat :https://github.com/EnjoySR/ESJsonFormat-Xcode

Paste_Image.png

效果图展示:

Paste_Image.png

2.2Json-Property-Creat-Code

Json-Property-Creat-Code
这个功能比较强大
json数据生成model 支持KVC,JSModel, model会自动归档 例如输入一个json数据网址,或者将返回的json数据放入展开的输入框中,再输入要生成的model名字,点击生成就可以在桌面上看到你所要的model 可以无限嵌套哦,总而言之,不需要你写一句代码,这个model可以直接使用

效果图展示:

Paste_Image.png Paste_Image.png

好用,谁用谁知道;

3.连接数据;

3.1
MJExtension(https://github.com/CoderMJLee/MJExtension)

**1> 字典 -> 模型
**2> 模型 -> 字典
**3> 字典数组 -> 模型数组
**4> 模型数组 -> 字典数组

这个不多介绍了,里面介绍很详细,都是中文;
提下,用到系统关键字处理方法:

+ (NSDictionary*)mj_replacedKeyFromPropertyName
{   
return@{@"theID":@"id"};
}

3.2
还有一个YYKit
这个也不错,但是解析速度没有MJExtension快;

4.生成description

思路:利用Runtime获取类的所有属性,然后遍历拼接成一个字符串;

iOS_技巧(7)_自动生成description

三丶扩展:

1.有时候服务器返回的JSON中,某个字典是以字符串形式展示,以下扩展,直接使用,不用谢;

@implementation NSString (Extension)
- (NSDictionary *)dictionaryWithJsonString
{
    if (self == nil)
    {
        return nil;
    }
    NSData *jsonData = [self dataUsingEncoding:NSUTF8StringEncoding];
    NSError *err;
    NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&err];

    if (err)
    {
        Log(@"json解析失败:%@", err);
        return nil;
    }
    return dic;
}

@end
上一篇下一篇

猜你喜欢

热点阅读