第一次接触ios中的sbjson,求sbjson新手学习的资料 iOS sbjson 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 构建参考:/** * @brief 构建JSON字符串 * * @param data 数据内容 * * @return JSON字符串 */+ (NSString *)createJSONString:(NSDictionary *)data{ NSDictionary *parmDictionary=[NSDictionary dictionaryWithObjectsAndKeys:data,@"Root",nil]; NSDictionary *jsonDictionary=[NSDictionary dictionaryWithObjectsAndKeys:parmDictionary,@"MiTRRoot",nil]; SBJsonWriter *writer = [[SBJsonWriter alloc] init]; NSString *jsonString=nil; jsonString=[writer stringWithObject:jsonDictionary]; [writer release]; return jsonString;}解析参考:NSString *returnString = [[NSString alloc] initWithData:package.content encoding:NSUTF8StringEncoding]; NSDictionary *reutrnDict =(NSDictionary *)[returnString JSONValue]; [returnString release]; NSDictionary *jsonDict = (NSDictionary *)[((NSDictionary *)[reutrnDict objectForKey:@"MiTRRoot"]) objectForKey:@"Root"]; NSArray *jsonArray = (NSArray *)[jsonDict objectForKey:@"R"]; //判断是否登录成功 if([@"1" isEqualToString:(NSString *)[jsonDict objectForKey:@"RetCode"]]){ //登录成功 for(int i = 0 ; i<jsonArray.count ; i++){ MoFundAccount *moFundAccount = [[MoFundAccount alloc] init]; //登录回应包内容 NSDictionary *fundAccount = (NSDictionary *)[jsonArray objectAtIndex:i]; moFundAccount.iId = [[fundAccount objectForKey:@"ID"] integerValue]; moFundAccount.orderID = [[fundAccount objectForKey:@"OrderID"] integerValue]; moFundAccount.uid = [NSNumber numberWithInteger:[[fundAccount objectForKey:@"Uid"] integerValue]]; moFundAccount.mid = [NSNumber numberWithInteger:[[fundAccount objectForKey:@"Mid"] integerValue]]; moFundAccount.engrossMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"EngrossMargin"] description]]; moFundAccount.freezeMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"FreezeMargin"] description]]; moFundAccount.lockMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"LockMargin"] description]]; moFundAccount.remainMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"RemainMargin"] description]]; moFundAccount.etValue = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"MarketValue"] description]]; moFundAccount.preRemainMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"PreRemainMargin"] description]]; [fundAccountArray addObject:moFundAccount]; [moFundAccount release]; } return [fundAccountArray autorelease]; }else{ //请求失败 return nil; } 楼上的已经给的很全了....恩 下载的json第三方库里面带的有一个demo.....可以运行起来看看 http://blog.sina.com.cn/s/blog_4cd8dd130101nrhb.html 楼主可以参阅这个~ cocos2d-x如何修改设备方向 创建UITableViewCell 针对移动应用的第三方控件技术上是否可行? 我下载了一个电子书的源代码,想自己整理资料发送上app会通过审核吗? OpenAL 中 source的个数问题 mac上安装ios 本人新手,问个关于时间选取器的问题,望不吝赐教 异步加载一组图片 怎样实现在分享到微信的链接中有拼接isappinstalled字段 iOS ios10系统以上无法进行https请求 iphone中弹出动画的实现 UIAlertView 的 Release问题
* @brief 构建JSON字符串
*
* @param data 数据内容
*
* @return JSON字符串
*/
+ (NSString *)createJSONString:(NSDictionary *)data
{
NSDictionary *parmDictionary=[NSDictionary dictionaryWithObjectsAndKeys:data,@"Root",nil];
NSDictionary *jsonDictionary=[NSDictionary dictionaryWithObjectsAndKeys:parmDictionary,@"MiTRRoot",nil];
SBJsonWriter *writer = [[SBJsonWriter alloc] init];
NSString *jsonString=nil;
jsonString=[writer stringWithObject:jsonDictionary];
[writer release];
return jsonString;
}
解析参考:NSString *returnString = [[NSString alloc] initWithData:package.content encoding:NSUTF8StringEncoding];
NSDictionary *reutrnDict =(NSDictionary *)[returnString JSONValue];
[returnString release];
NSDictionary *jsonDict = (NSDictionary *)[((NSDictionary *)[reutrnDict objectForKey:@"MiTRRoot"]) objectForKey:@"Root"];
NSArray *jsonArray = (NSArray *)[jsonDict objectForKey:@"R"];
//判断是否登录成功
if([@"1" isEqualToString:(NSString *)[jsonDict objectForKey:@"RetCode"]]){
//登录成功
for(int i = 0 ; i<jsonArray.count ; i++){
MoFundAccount *moFundAccount = [[MoFundAccount alloc] init];
//登录回应包内容
NSDictionary *fundAccount = (NSDictionary *)[jsonArray objectAtIndex:i];
moFundAccount.iId = [[fundAccount objectForKey:@"ID"] integerValue];
moFundAccount.orderID = [[fundAccount objectForKey:@"OrderID"] integerValue];
moFundAccount.uid = [NSNumber numberWithInteger:[[fundAccount objectForKey:@"Uid"] integerValue]];
moFundAccount.mid = [NSNumber numberWithInteger:[[fundAccount objectForKey:@"Mid"] integerValue]];
moFundAccount.engrossMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"EngrossMargin"] description]];
moFundAccount.freezeMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"FreezeMargin"] description]];
moFundAccount.lockMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"LockMargin"] description]];
moFundAccount.remainMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"RemainMargin"] description]];
moFundAccount.etValue = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"MarketValue"] description]];
moFundAccount.preRemainMargin = [NSDecimalNumber decimalNumberWithString:[[fundAccount objectForKey:@"PreRemainMargin"] description]];
[fundAccountArray addObject:moFundAccount];
[moFundAccount release];
}
return [fundAccountArray autorelease];
}else{
//请求失败
return nil;
}