javascript
JSON解析---初识
JSON(JavaScript 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 文件上傳。就能夠輕松的轉變成可視化的視圖結構。
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生
總結
以上是生活随笔為你收集整理的JSON解析---初识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS YUM / RPM Err
- 下一篇: JetBrains 发布Kotlin 1