麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ios中使用SBJson拼接和解析json

2019-11-14 19:53:02
字體:
供稿:網(wǎng)友

1.ios解析json
使用開源json包,項(xiàng)目地址:
     http://stig.github.com/json-framework/
NSData * responseData = [respones responseData];
      
     NSString * strResponser = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
SBJsonParser * parser = [[SBJsonParser alloc]init];
     NSMutableDictionary *dicMessageInfo = [parser objectWithString:strResponser]; // 解析成json解析對象
[parser release];
     //發(fā)送者
     NSString * sender = [dicMessageInfo objectForKey:@"sender"];

2.json嵌套對象解析:
//要上傳的字符串
    NSString *dataStr=[[NSString alloc] initWithString:@"{/"cross/":{/"1/":/"true/",/"2/":/"false/",/"3/":/"true/"}}"];
//獲取響應(yīng)返回字符串
NSData * responseData = [respones responseData];
        
        NSString * strResponser = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
//嵌套解析
SBJsonParser * parser = [[SBJsonParser alloc]init];
            
            NSMutableDictionary *dicMessageInfo = [parser objectWithString:strResponser]; // 解析成json解析對象
            
            NSMutableDictionary * cross = [dicMessageInfo objectForKey:@"cross"];
            
            NSString *cross1= [cross objectForKey:@"1"];
            //解析json到各個(gè)字符串
            //發(fā)送者
            [parser release];
            NSLog(@"cross1: %@",cross1);
3.拼接json字符串

通過使用SBJson中的SBJsonWriter類的方法- (NSString*)stringWithObject:(id)value可以將一個(gè)對象中的值格式化為json字符串,符合key/value格式的數(shù)據(jù)封裝到NSDictionary后可以使用該方法進(jìn)行格式化,其他數(shù)據(jù)通過拼接字符串的方式格式化。
在拼接過程中可以使用類NSMutableString的方法:
- (void)appendString:(NSString *)aString;、
- (void)appendFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
動(dòng)態(tài)添加字符串。
拼接的字符串可通過json在線驗(yàn)證的方式驗(yàn)證其格式是否正確,網(wǎng)址為:
http://jsonlint.com/
-(NSString *) getJsonString
{
    NSMutableString *json = [NSMutableString stringWithCapacity:128];
    NSString *jsonString=nil;
    SBJsonWriter *writer = [[SBJsonWriter alloc] init];
    [json appendString:@"{/"data/":{"];
    [json appendFormat:@"/"%@/":/"%d/",",@"reset",reset];
    if(missionStatus!=NULL)
    {
        jsonString=[writer stringWithObject:status];
        if(jsonString!=NULL)
        {
            [json appendString:@"/"status/":"];
            [json appendString:jsonString];
        }
    }
    [json appendString:@"}}"];
    return json;
}
4.利用多個(gè)NSDictionary,拼接多層嵌套的json字符串,減少因手工拼接忘記加引號(hào)導(dǎo)致的json格式錯(cuò)誤
示例代碼:
NSDictionary *dataDictionary= [NSDictionary dictionaryWithObjectsAndKeys:mac,@"mac",
                                   game,@"game",
                                   devicetoken,@"devicetoken",
                                   device,@"device",
                                   gv,@"gv",
                                   lang,@"lang",
                                   os,@"os",
                                   hardware,@"hardware",
                                   down,@"down",nil];
    NSDictionary *parmDictionary= [NSDictionary dictionaryWithObjectsAndKeys:@"getsession",@"act",
                                   dataDictionary,@"data",nil];
    NSDictionary *jsonDictionary=[NSDictionary dictionaryWithObjectsAndKeys:pv,@"pv",
                                  parmDictionary,@"param",nil];
    SBJsonWriter *writer = [[SBJsonWriter alloc] init];
    
    NSString *jsonString=nil;
    jsonString=[writer stringWithObject:jsonDictionary];
    NSLog(@"%@",jsonString);
5.json字符串在線校驗(yàn)網(wǎng)址:
http://jsonlint.com/


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 91九色视频观看 | 亚洲91精品| 中文在线免费观看 | 国产精品久久久久久久久久久久久久久久 | 热99在线视频 | 中文字幕一区久久 | 免费亚洲视频在线观看 | 国产精品成人一区二区三区吃奶 | 在线播放污 | 成人 在线 | 亚洲欧美一区二区三区在线观看 | 久久亚洲精品国产 | 毛片免费在线观看 | 国产一国产精品一级毛片 | 国产精品视频 | 久久老司机 | 欧美精品亚洲人成在线观看 | 一级黄色大片在线观看 | 草莓福利视频在线观看 | chinesegv男男猛男无套 | 92精品国产自产在线 | 成人永久免费视频 | 国产一级小视频 | 日本aaaa片毛片免费观看视频 | 一级做a爱片毛片免费 | 国产免费一区二区三区 | 日本网站一区二区三区 | 国产精品久久久久久久久久尿 | 青青草好吊色 | 黄色av一区二区三区 | 激情av在线| 毛片电影在线看 | 国产污污视频 | 午夜视频你懂的 | 欧美成人免费在线视频 | 久久久久久久免费视频 | 欧美精品一区二区中文字幕 | 国产成人精品午夜 | 欧美成人精品不卡视频在线观看 | 久久精品亚洲国产奇米99 | 在线看日本 |