#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *tvParseResult;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (IBAction)onparseJson:(id)sender {
/*
NSString *jsonStr = @"{\"name\": \"James\", \"age\": \"30\"}";
NSData *jsonData = [jsonStr dataUsingEncoding: NSUTF8StringEncoding];
id jsonObj = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error: nil];
if([jsonObj isKindOfClass: [NSDictionary class]]){
//字典类型
NSDictionary *dic = (NSDictionary *) jsonObj;
_tvParseResult.text = [_tvParseResult.text stringByAppendingString:@"\n"];
_tvParseResult.text = [_tvParseResult.text stringByAppendingString: [dic objectForKey:@"name"]];// 取出其中的值
_tvParseResult.text = [_tvParseResult.text stringByAppendingString:@"\n"];
_tvParseResult.text = [_tvParseResult.text stringByAppendingString: [dic objectForKey:@"age"]];// 取出其中的值
}
*/
/*
NSString *jsonTreeStr = @"{\"user\": {\"name\": \"james\", \"age\": \"33\"}}";
NSData *jsonData = [jsonTreeStr dataUsingEncoding: NSUTF8StringEncoding];
id jsonObj = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:nil];
if([jsonObj isKindOfClass:[NSDictionary class]]){
// 字典类型
NSDictionary *dic = (NSDictionary *)jsonObj;
NSDictionary *subDIc = [dic objectForKey: @"user"];
_tvParseResult.text = [_tvParseResult.text stringByAppendingString:@"\n"];
_tvParseResult.text = [_tvParseResult.text stringByAppendingString: [subDIc objectForKey:@"name"]];// 取出其中的值
_tvParseResult.text = [_tvParseResult.text stringByAppendingString:@"\n"];
_tvParseResult.text = [_tvParseResult.text stringByAppendingString: [subDIc objectForKey:@"age"]];// 取出其中的值
}
*/
/*
NSString *jsonArrayStr = @"[{\"name\": \"james\"}, {\"name\": \"jim\"}]";
NSData *jsonData = [jsonArrayStr dataUsingEncoding: NSUTF8StringEncoding];
id jsonObj = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:nil];
if([jsonObj isKindOfClass: [NSArray class]]) {
//数组k类型
NSArray *arr = (NSArray *) jsonObj;
for (NSDictionary *dic in arr) {
_tvParseResult.text = [_tvParseResult.text stringByAppendingString:@"\n"];
_tvParseResult.text = [_tvParseResult.text stringByAppendingString: [dic objectForKey:@"name"]];// 取出其中的值
}
}
*/
/*
NSString *jsonArrayStr = @"{\"user\" : [{\"name\": \"james\"}, {\"name\": \"jimmm\"}]}";
NSData *jsonData = [jsonArrayStr dataUsingEncoding: NSUTF8StringEncoding];
id jsonObj = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:nil];
if([jsonObj isKindOfClass: [NSDictionary class]]) {
NSDictionary *dic = (NSDictionary *) jsonObj;
//数组k类型
NSArray *arr = [dic objectForKey:@"user"];
for (NSDictionary *dic in arr) {
_tvParseResult.text = [_tvParseResult.text stringByAppendingString:@"\n"];
_tvParseResult.text = [_tvParseResult.text stringByAppendingString: [dic objectForKey:@"name"]];// 取出其中的值
}
}
*/
//从文件中读取 json文件
/*
NSString *jsonStr = nil;
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"json"];
NSFileManager *fileMgr = [NSFileManager defaultManager];
if([fileMgr fileExistsAtPath:filePath]){
jsonStr = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSData *jsonData = [jsonStr dataUsingEncoding:NSUTF8StringEncoding];
id jsonObj = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:nil];
if([jsonObj isKindOfClass:[NSDictionary class]]){
NSDictionary *dic = (NSDictionary *)jsonObj;
NSDictionary *subDic = [dic objectForKey: @"user"];
for (NSString *key in subDic) {
_tvParseResult.text = [_tvParseResult.text stringByAppendingString:@"\n"];
_tvParseResult.text = [_tvParseResult.text stringByAppendingString: key];
_tvParseResult.text = [_tvParseResult.text stringByAppendingString: [subDic objectForKey: key]];// 取出其中的值
}
}
} else{
_tvParseResult.text = @"文件没有找到";
return;
}
*/
//解析网络json数据 http://www.weather.com.cn/data/cityinfo/101010100.html
NSURL *url = [NSURL URLWithString:@"http://www.weather.com.cn/data/cityinfo/101010100.html"];
NSData *jsonData = [NSData dataWithContentsOfURL:url];
id jsonObj = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:nil];
if([jsonObj isKindOfClass:[NSDictionary class]]){
NSDictionary *dic = (NSDictionary *)jsonObj;
NSDictionary *subDic = [dic objectForKey: @"weatherinfo"];
for (NSString *key in subDic) {
_tvParseResult.text = [_tvParseResult.text stringByAppendingString:@"\n"];
_tvParseResult.text = [_tvParseResult.text stringByAppendingString: key];
_tvParseResult.text = [_tvParseResult.text stringByAppendingString: [subDic objectForKey: key]];// 取出其中的值
}
}
}
@end
ios json解析demo
最新推荐文章于 2023-08-02 20:38:21 发布