`
wenxin2009
  • 浏览: 320604 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ios中json解析

    博客分类:
  • ios
阅读更多

以下是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解析工具

    iOS下解析json数据,自己亲自使用过,挺好用的。 使用JSONKit的解析方法:(需导入包:#import "JSONKit/JSONKit.h") - (void)printJson{ //如果json是“单层”的,即value都是字符串、数字,可以使用...

    IOS json解析

    "IOS json解析"这个主题涵盖了如何在iOS应用中处理JSON数据,尤其是利用苹果内置的技术进行解析。本文将深入探讨JSON解析的基本概念、苹果提供的解析API以及如何在实际项目中运用。 首先,我们需要了解JSON的结构。...

    iOS开发Json解析Demo

    总结来说,这个“iOS开发Json解析Demo”涵盖了网络请求、JSON解析、数据模型映射和UI展示等多个关键步骤,为iOS开发者提供了一个实际的案例,展示了如何在应用中有效地处理JSON数据。通过学习和实践这个Demo,开发者...

    IOS抓包工具和JSON解析工具

    本文将详细介绍iOS平台上的抓包工具及JSON解析工具的使用。 首先,我们来讨论iOS抓包工具。在iOS设备上,最常用的抓包工具是Charles。Charles是一个强大的HTTP代理服务器,它可以截取并显示HTTP和HTTPS流量。安装和...

    IOS之JSON数据解析

    总结来说,SBJson是一个强大的JSON处理工具,它简化了iOS应用中的JSON解析和编码工作。通过引入SBJson,开发者可以更加灵活地处理服务器返回的JSON数据,同时也能有效地处理可能出现的错误情况。无论是初学者还是...

    浅谈ios中的json解析(转载)

    本文将深入探讨iOS中如何进行JSON解析,包括基本概念、解析方法以及实际应用示例。 首先,JSON是一种轻量级的文本格式,它基于ECMAScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。JSON数据通常...

    iOS xml解析和json解析demo

    在这个"iOS xml解析和json解析demo"中,我们将探讨如何在iOS应用中处理这两种数据格式。 首先,我们来看XML解析。在iOS中,有两种主要的XML解析方式:NSXMLParser和XMLParser。NSXMLParser是基于事件驱动的解析器,...

    IOS中Json解析实例方法详解(四种方法)

    本文将介绍TouchJson、 SBJson 、JSONKit 和 iOS5所支持的原生的json方法,解析国家气象局API。通过本文给大家介绍IOS中Json解析的四种方法,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧

    ios下json数据解析的TouchJson的库

    因此,在实际开发中,根据项目需求选择合适的JSON解析库是非常重要的。 总的来说,TouchJson是一个实用的工具,它为iOS开发者提供了一种简单的方式来处理JSON数据,尤其是在旧版iOS系统中。了解并熟练使用这个库,...

    iOS5系统API和5个开源库的JSON解析速度测试

    总之,这个测试揭示了iOS 5中`NSJSONSerialization`与其他开源JSON解析库在性能上的差异,帮助开发者在实际项目中做出更合适的选择。同时,这也强调了持续评估和优化技术栈的重要性,以适应不断变化的需求和环境。

    ios-json解析与数据字典

    本文将深入探讨iOS中的JSON解析,并通过一个实际的示例演示如何将JSON字符串转换为数据字典。 首先,理解JSON的基本结构至关重要。JSON是一种轻量级的数据交换格式,它基于JavaScript的一个子集。数据以键值对(key...

    iOS开发使用JSON解析网络数据

    在iOS开发中,与服务器进行数据交互时,通常...以上就是iOS开发中使用JSON解析网络数据的基本过程和注意事项。在实际项目中,还需要考虑错误处理、网络状态检测、数据缓存等多个方面,以提供更健壮的网络数据处理能力。

    iOS网络json解析

    本篇主要介绍如何在iOS应用中进行JSON解析,以及如何利用第三方库AFNetworking进行网络请求,同时结合MJExtension进行快速的数据模型转换。 首先,JSON(JavaScript Object Notation)是一种易于人阅读和编写,同时...

    IOS JSON 解析工具类代码

    JSONKit 是一个针对 iOS 平台的 JSON 解析库,被广泛认为是性能优秀且使用简便的工具之一。在 iOS 开发中,JSON(JavaScript Object Notation)是一种常见的数据交换格式,由于其轻量级、易读易写的特点,常用于...

    IOS json解析成Model

    标题中的"IOS json解析成Model"指的是一个关键的开发任务:将JSON字符串或字典转换为自定义的Model类实例。这一过程能够帮助开发者将复杂的数据结构转换为易于操作的对象,简化代码并提高可维护性。 首先,我们需要...

    iOS中json解析出现的null,nil,NSNumber的解决办法

    通过以上方法,可以有效地处理iOS开发中JSON解析时遇到的`null`、`nil`和`NSNumber`问题,确保应用的稳定性和安全性。在实际开发中,选择最适合项目需求的解决方案,并保持代码的可读性和可维护性。

    ios下解析json的demo

    在iOS开发中,JSON(JavaScript ...总之,iOS开发中解析JSON是至关重要的技能,`NSJSONSerialization` 提供了简单且强大的工具来处理这一任务。通过熟练掌握这些知识,你可以更高效地构建与服务器交互的应用程序。

    iOS XML JSON解析

    iOS JSON XML 解析实例 e,详情见:http://blog.csdn.net/vnanyesheshou/article/details/52484367 http://blog.csdn.net/vnanyesheshou/article/details/52505430

    ios下json数据解析的实例

    `NSJSONSerialization`是Apple提供的官方JSON解析和序列化工具,可以方便地将JSON字符串转换为Objective-C对象,反之亦然。 1. **解析JSON数据** 要解析JSON数据,首先需要获取到JSON字符串。这通常通过网络请求...

Global site tag (gtag.js) - Google Analytics