加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

我的SBJson来生成和解析JSON串的代码

发布时间:2020-12-16 19:03:43 所属栏目:百科 来源:网络整理
导读:一、OC里生成指定格式JSON串的关键秘诀为: ①、每个{} 对应一个 NSDictionary ②、每个[] 对应一个 NSArray 二、代码如下: #import "ViewController.h" #import "SBJson.h" @interface ViewController () { NSString *strMyJson; } @end @implementation V

一、OC里生成指定格式JSON串的关键秘诀为:

①、每个{} 对应一个 NSDictionary

②、每个[] 对应一个 NSArray


二、代码如下:

#import "ViewController.h"

#import "SBJson.h"


@interface ViewController ()

{

NSString *strMyJson;

}


@end


@implementation ViewController


- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view,typically from a nib.

//生成一个JSON

if (![self writeJson])

{

NSLog(@"写出JSON字符串失败");

return;

}

else

NSLog(@"写出JSON字符串成功");

//解析一个JSON

if (![self readJson])

{

NSLog(@"解析JSON字符串失败");

return;

}

else

NSLog(@"解析JSON字符串成功");

}


-(BOOL) readJson

{

@try

{

SBJsonParser *parser=[[SBJsonParser alloc] init];

NSDictionary *dic3_1=[parser objectWithString:strMyJson];

if (nil!=dic3_1)

{

NSLog(@"%@",dic3_1.allKeys[0]);

NSDictionary *dic2_1=dic3_1.allValues[0];

NSLog(@"%@",dic2_1.allKeys[0]);

NSLog(@"%@",dic2_1.allKeys[1]);

NSDictionary *dic1=dic2_1.allValues[0];

NSDictionary *dic2=dic2_1.allValues[1];

NSLog(@"%@",dic1.allKeys[0]);

NSLog(@"%@",dic1.allValues[0]);

NSLog(@"%@",dic1.allKeys[1]);

NSLog(@"%@",dic1.allValues[1]);

NSLog(@"%@",dic2.allKeys[0]);

NSLog(@"%@",dic2.allValues[0]);

NSLog(@"%@",dic2.allKeys[1]);

NSLog(@"%@",dic2.allValues[1]);

return YES;

}

else

{

return NO;

}

}

@catch (NSException *exception)

{

return NO;

}

}


-(BOOL) writeJson

{

@try

{

NSDictionary *dic1=[NSDictionary dictionaryWithObjectsAndKeys:@"8888",@"age",@"174",@"length",nil];

NSDictionary *dic2=[NSDictionary dictionaryWithObjectsAndKeys:@"9999",@"178",nil];

NSDictionary *dic2_1=[NSDictionary dictionaryWithObjectsAndKeys:dic1,@"liji",dic2,@"lixi",nil];

NSDictionary *dic3_1=[NSDictionary dictionaryWithObjectsAndKeys:dic2_1,@"person",nil];

SBJsonWriter *writer=[[SBJsonWriter alloc] init];

NSString *strJson=[writer stringWithObject:dic3_1];

if (nil!=strJson)

{

strMyJson=strJson;

NSLog(@"%@",strJson);

return YES;

}

else

return NO;


}

@catch(NSException *e)

{

return NO;

}

}




- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}


@end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读