浅谈JSON数据解析方法

JSON数据解析

  • JSON是什么??

  • 什么把JSON数据解析出来

  • 何以把一个字典转换为JSON


什么样把JSON数据解析出来

  • (1)使用苹果自带的API–NSJSONSerialization

代码:

     NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:NULL];

        NSArray *citys = JSON[@"city"];

        NSMutableArray *cityList = [NSMutableArray array];

        for (NSDictionary *dict in citys) {

            JKPcity *city = [[JKPcity alloc]init];

            [city setValuesForKeysWithDictionary:dict];

            [cityList addObject:city];
        }
        self.dataList = cityList;
  • (2)使用第②方JSON基特

代码

    NSDictionary *JSON = [data objectFromJSONData];

    NSArray *citys = JSON[@"city"];

    NSMutableArray *cityList = [NSMutableArray array];

    for (NSDictionary *dict in citys) {

        JKPcity *city = [[JKPcity alloc]init];

        [city setValuesForKeysWithDictionary:dict];

        [cityList addObject:city];
    }
    self.dataList = cityList;

哪些把三个字典转换到JSON数据

  • (1)使用第贰方JSONKit

NSDictionary *dict =
@{@”城市”:@”北京”,
@”姓名”:@”小玉”};

//字典转JSON

//JSONKit框架中的
NSData *data = [dict JSONData];

NSString *string = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];

NSLog(@"%@",string);
  • (2)使用苹果自带API

//苹果自带API

NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:nil];

NSString *string = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];

NSLog(@"%@",string);

JSON详细介绍

  • JSON(JavaScript Object Notation)
    是一种轻量级的数据交流格式。它基于ECMAScript的一个子集。
    JSON选取完全部独用立于言语的文本格式,不过也使用了近似于C语言家族的习惯(包含C、C++、C#、Java、JavaScript、Perl、Python等)。这个特征使JSON成为卓越的数据调换语言。
    易于人观看和编制,同时也不难机器解析和浮动(一般用于进步互联网传输速率)。

  • JSON常用来服务器给客户端回传数据

  • 现行反革命市面上9/10的APP都用JSON传输数据