以下是ios中三种不同解析方式:
jsonkit需要导入JSONKit.h、JSONKit.m文件,可在官网上下https://github.com/johnezang/JSONKit。
1、JSONKit解析方式:
NSString *jsonString = @"[{\"age\":18,\"book\":{\"price\":23.2,\"title\":\"booooooook1\"},\"name\":\"samyou\"},{\"age\":22,\"book\":{\"price\":21,\"title\":\"booooooook2\"},\"name\":\"samsam\"}]"; NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; // NSDictionary *resultDic = [jsonData objectFromJSONData]; NSArray *resultDic = [jsonData objectFromJSONData]; NSString *nstr = [resultDic JSONString];//json字符串 NSLog(@"str : %@",nstr); NSLog(@"age= %@", [resultDic valueForKey:@"age"]); NSLog(@"book= %@", [resultDic valueForKey:@"book"]); NSArray *books = [resultDic valueForKey:@"book"]; NSLog(@"book.price===%@",[books valueForKey:@"price"]);
2、SBJSON解析方式(通过plist文件进行读取):
https://github.com/stig/json-framework可下载。
data.plist文件内容:[{"auctionId":1000,"auctionName":"苹果"},{"auctionId":1001,"auctionName":"李子"}]
//json解析 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"]; //获取字典 NSDictionary *dataDict = [NSDictionary dictionaryWithContentsOfFile:filePath]; //获取json key值 NSString *jsonData = [dataDict objectForKey:@"auction"]; if(jsonData == nil){ NSLog(@"无数据!"); }else{ //得到jsoin数组 NSArray *jsonArray = [jsonData JSONValue]; NSLog(@"jsonArray:%@",jsonArray); //通过key获取对应的值 //写法一 NSString *auctionId = [jsonArray valueForKey:AUCTION_ID]; NSLog(@"auctionId : %@",auctionId); //写法二 // NSArray *auctionId = [jsonArray valueForKey:AUCTION_ID]; // for(int i=0;i<[auctionId count];i++){ // NSLog(@"auction : %@",[auctionId objectAtIndex:i]); // } //写法三(以下方法不行) // for(int i=0;i<[jsonArray count];i++){ // Auction *auction = [jsonArray objectAtIndex:i]; // NSLog(@"Auction.auctionName : %@",auction.auctionName); // } } [jsonData release];
3、ios5自带API进行json解析,NSJSONSerialization类
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; [dictionary setValue:@"Anthony" forKey:@"name"]; [dictionary setValue:[NSNumber numberWithUnsignedInteger:30] forKey:@"Age"]; NSArray *arrayChildren = [[NSArray alloc] initWithObjects:@"A", @"B", nil]; [dictionary setValue:arrayChildren forKey:@"children"]; NSError *error = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionary options:NSJSONWritingPrettyPrinted error:&error]; NSLog(@"jsonData : %@",[jsonData description]); if (error) { NSLog(@"dic->%@",error); } id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:&error]; if (nil != jsonObject) { if ([jsonObject isKindOfClass:[NSDictionary class]]){ NSDictionary *resultDic = (NSDictionary *)jsonObject; NSLog(@"Received JSON Dictionary : %@", resultDic); } else { NSLog(@"Error JSON data."); } }
s
相关推荐
iOS下解析json数据,自己亲自使用过,挺好用的。 使用JSONKit的解析方法:(需导入包:#import "JSONKit/JSONKit.h") - (void)printJson{ //如果json是“单层”的,即value都是字符串、数字,可以使用...
"IOS json解析"这个主题涵盖了如何在iOS应用中处理JSON数据,尤其是利用苹果内置的技术进行解析。本文将深入探讨JSON解析的基本概念、苹果提供的解析API以及如何在实际项目中运用。 首先,我们需要了解JSON的结构。...
总结来说,这个“iOS开发Json解析Demo”涵盖了网络请求、JSON解析、数据模型映射和UI展示等多个关键步骤,为iOS开发者提供了一个实际的案例,展示了如何在应用中有效地处理JSON数据。通过学习和实践这个Demo,开发者...
本文将详细介绍iOS平台上的抓包工具及JSON解析工具的使用。 首先,我们来讨论iOS抓包工具。在iOS设备上,最常用的抓包工具是Charles。Charles是一个强大的HTTP代理服务器,它可以截取并显示HTTP和HTTPS流量。安装和...
总结来说,SBJson是一个强大的JSON处理工具,它简化了iOS应用中的JSON解析和编码工作。通过引入SBJson,开发者可以更加灵活地处理服务器返回的JSON数据,同时也能有效地处理可能出现的错误情况。无论是初学者还是...
本文将深入探讨iOS中如何进行JSON解析,包括基本概念、解析方法以及实际应用示例。 首先,JSON是一种轻量级的文本格式,它基于ECMAScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。JSON数据通常...
在这个"iOS xml解析和json解析demo"中,我们将探讨如何在iOS应用中处理这两种数据格式。 首先,我们来看XML解析。在iOS中,有两种主要的XML解析方式:NSXMLParser和XMLParser。NSXMLParser是基于事件驱动的解析器,...
本文将介绍TouchJson、 SBJson 、JSONKit 和 iOS5所支持的原生的json方法,解析国家气象局API。通过本文给大家介绍IOS中Json解析的四种方法,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
因此,在实际开发中,根据项目需求选择合适的JSON解析库是非常重要的。 总的来说,TouchJson是一个实用的工具,它为iOS开发者提供了一种简单的方式来处理JSON数据,尤其是在旧版iOS系统中。了解并熟练使用这个库,...
总之,这个测试揭示了iOS 5中`NSJSONSerialization`与其他开源JSON解析库在性能上的差异,帮助开发者在实际项目中做出更合适的选择。同时,这也强调了持续评估和优化技术栈的重要性,以适应不断变化的需求和环境。
本文将深入探讨iOS中的JSON解析,并通过一个实际的示例演示如何将JSON字符串转换为数据字典。 首先,理解JSON的基本结构至关重要。JSON是一种轻量级的数据交换格式,它基于JavaScript的一个子集。数据以键值对(key...
在iOS开发中,与服务器进行数据交互时,通常...以上就是iOS开发中使用JSON解析网络数据的基本过程和注意事项。在实际项目中,还需要考虑错误处理、网络状态检测、数据缓存等多个方面,以提供更健壮的网络数据处理能力。
本篇主要介绍如何在iOS应用中进行JSON解析,以及如何利用第三方库AFNetworking进行网络请求,同时结合MJExtension进行快速的数据模型转换。 首先,JSON(JavaScript Object Notation)是一种易于人阅读和编写,同时...
JSONKit 是一个针对 iOS 平台的 JSON 解析库,被广泛认为是性能优秀且使用简便的工具之一。在 iOS 开发中,JSON(JavaScript Object Notation)是一种常见的数据交换格式,由于其轻量级、易读易写的特点,常用于...
标题中的"IOS json解析成Model"指的是一个关键的开发任务:将JSON字符串或字典转换为自定义的Model类实例。这一过程能够帮助开发者将复杂的数据结构转换为易于操作的对象,简化代码并提高可维护性。 首先,我们需要...
通过以上方法,可以有效地处理iOS开发中JSON解析时遇到的`null`、`nil`和`NSNumber`问题,确保应用的稳定性和安全性。在实际开发中,选择最适合项目需求的解决方案,并保持代码的可读性和可维护性。
在iOS开发中,JSON(JavaScript ...总之,iOS开发中解析JSON是至关重要的技能,`NSJSONSerialization` 提供了简单且强大的工具来处理这一任务。通过熟练掌握这些知识,你可以更高效地构建与服务器交互的应用程序。
iOS JSON XML 解析实例 e,详情见:http://blog.csdn.net/vnanyesheshou/article/details/52484367 http://blog.csdn.net/vnanyesheshou/article/details/52505430
`NSJSONSerialization`是Apple提供的官方JSON解析和序列化工具,可以方便地将JSON字符串转换为Objective-C对象,反之亦然。 1. **解析JSON数据** 要解析JSON数据,首先需要获取到JSON字符串。这通常通过网络请求...