码迷,mamicode.com
首页 > Web开发 > 详细

JSON解析---初识

时间:2015-06-10 22:39:33      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:json   键值对   nsjsonserialization   

JSONJavaScript Object Notation

     是一种轻量级的数据交换格式

     完全独立于语言的文本格式

     易于人阅读和编写

     易于解析和生成 (网络传输速度快)


JSON语法规则

     数据在 名称/ 对中

     数据有逗号分隔

     花括号保存对象

     方括号保存数组




以下是一个.JSON 文件


{

    "class1":[

          {

            "name":"zhangsan",

            "age":"14",

            "tel":"123123123"

          },

         

         {

           "name":"lisi",

           "age":"13",

           "tel":"123123123"

         },

         

         {

           "name":"wangwu",

           "age":"12",

           "tel":"123123123"

         }


    ],

    "class2":[

              {

              "name":"zhaoliu",

              "age":"15",

              "tel":"123123123"

              },

              

              {

              "name":"wuwu",

              "age":"16",

              "tel":"123123123"

              },

              

              {

              "name":"liuliu",

              "age":"17",

              "tel":"123123123"

              } 

              ]

}


  ViewController.m文件

//  JSON解析


#import "ViewController.h"

#import "JSONKit.h"


@interface ViewController ()


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    

    NSString * path= [[NSBundle mainBundle] pathForResource:@"test.json" ofType:nil];

    

    NSData * data=[NSData dataWithContentsOfFile:path];

    

//    NSDictionary * dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

    /*

    //NSLog(@"%@",dic);    //打印整个JSON文件

     */

    

    /*

    NSArray * array=dic[@"class1"];   //拆一层

    NSLog(@"%@",array);

    */

   

    /*

    NSArray * array=dic[@"class1"];

    for(NSDictionary * dic in array)

    {

        NSLog(@"%@",dic);     //拆两层

    }

     */

    

    //得到model

    /*

    NSArray * array=dic[@"class1"];   //拆一层

    //NSLog(@"%@",array);

    for( NSDictionary * dic in array)

    {

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

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

        NSLog(@"%@",str);

    }

    */

    

    //打印第一组的人员姓名

    /*

    NSArray * array=dic[@"class1"];   //拆一层

    //NSLog(@"%@",array);

    NSMutableArray * marray=[[NSMutableArray alloc]init];

    for( NSDictionary * dic in array)

    {

        [marray addObject:dic[@"name"]];

    }

    NSLog(@"%@",marray);

    */


//引入JSONKit

    //打印整个JSON文件

    /*

    NSDictionary * dic=[data objectFromJSONData];

    NSLog(@"%@",dic);

    */


    /*

    NSString * str=@"{\"name\":\"zhangsan\"}";

    NSData * datas=[str dataUsingEncoding:NSUTF8StringEncoding];

    id obj=[datas objectFromJSONData];

    NSLog(@"%@",obj);

    */


}


@end


PS:推荐一个网站 www.bejson.com 可以将没有组织结构的.JSON 文件上传,就可以轻松的转变成可视化的视图结构。





JSON解析---初识

标签:json   键值对   nsjsonserialization   

原文地址:http://blog.csdn.net/qq_27364431/article/details/46445585

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!