JSON解析

发布时间:2016-12-9 12:14:36 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"JSON解析",主要涉及到JSON解析方面的内容,对于JSON解析感兴趣的同学可以参考一下。

{ "students":[ { "name":"stu1", "age":"20" }, { "name":"stu2", "age":"22" } ], "teachers":[ { "name":"tea1", "age":"30" }, { "name":"tea2", "age":"33" } ], "subjects":{ "C":{ "subID":"1", "score":"2", "hour":"80" }, "objective-c":{ "subID":"2", "score":"3", "hour":"60" } } } 首先什么是json? Json的本质就是字符串并且是一组有固定格式的字符串,       举个栗子: {"key":"value","key":"value"} --这就是一组标准的,基本的json 以下:        1、["json","string"] --这是个字符串数组         2、{"key":["json","string"]} --key的value是一个字典数组        3、[{"key":"value","key":"value"},{"key":"value","key":"value"}] --json数组          {"key" : [{"key":"value","key":"value"},{"key":"value","key":"value"}]}             --key的value是一个json数组 红色字符数组,绿色字典数组 通过键值对,数组和字符串来整理/封装的用于表示数据的字符串json字符串可以解析成为oc的NSDictionary 这个用法需要引入命令行参数,json文件的路径就通过命令行参数导入的。在跳出新的页面选择Run XXX(XXX为工程名),之后选择Arguments选项,在Arguments Passed On Launch中添加一条新内容,为你的json文件的路劲名包括。 一、这个是在OC中解析json文件: NSString *path = [NSStringstringWithUTF8String:argv[1]];                NSData *data = [NSDatadataWithContentsOfFile:path];         NSDictionary* jsonObject = [NSJSONSerializationJSONObjectWithData:dataoptions:NSJSONReadingMutableContainerserror:nil];        NSLog(@"%@",[[jsonObjectobjectForKey:@"subjects"]objectForKey:@"C"]);      二、下面这个实在iphone中,实现json解析: NSString *plistPath = [[NSBundlemainBundle]pathForResource:@"demo"ofType:@"json"];  NSData *data = [NSDatadataWithContentsOfFile:plistPath];     NSDictionary* jsonObject = [NSJSONSerializationJSONObjectWithData:dataoptions:NSJSONReadingMutableContainerserror:nil];      NSLog(@"%@",[[jsonObjectobjectForKey:@"subjects"]objectForKey:@"C"]); NSArray *ages = [jsonObjectvalueForKeyPath:@"teachers.age"];         NSLog(@"%@",ages); Json的小技巧:                 //最老的老师多少岁         NSLog(@"%@",[jsonObject valueForKeyPath:@"teachers.@max.age"]);         //平均多大了?         NSLog(@"%@",[jsonObject valueForKeyPath:@"teachers.@avg.age"]);         //最小         NSLog(@"%@",[jsonObject valueForKeyPath:@"teachers.@min.age"]);         //总共多少岁         NSLog(@"%@",[jsonObjectvalueForKeyPath:@"teachers.@sum.salary"]);         //总共几个老师?         NSLog(@"%@",[jsonObjectvalueForKeyPath:@"teachers.@count"]);//teachers是一个数组,@count,数组的元素个数         NSLog(@"%@",[jsonObject valueForKeyPath:@"teachers.count"]);

上一篇:[HDU 3746]Cyclic Nacklace[kmp求周期]
下一篇:监视来去电情况

相关文章

关键词: JSON解析

相关评论