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

iOS JSON解析

阅读更多
解析json成dic对象

-(void)fetchedData:(NSData*)responseData {//parse out the json dataNSError* error;
    NSDictionary* json =[NSJSONSerialization 
        JSONObjectWithData:responseData //1
 
        options:kNilOptions 
        error:&error];
 
    NSArray* latestLoans =[json objectForKey:@"loans"]; //2
 
    NSLog(@"loans: %@", latestLoans); //3
}

把对象生成json string
//build an info object and convert to json
NSDictionary* info =[NSDictionary dictionaryWithObjectsAndKeys:[loan objectForKey:@"name"], 
    @"who",
  [(NSDictionary*)[loan objectForKey:@"location"] 
    objectForKey:@"country"], 
    @"where",
  [NSNumber numberWithFloat: outstandingAmount], 
    @"what",
  nil];
 
//convert object to data
NSData* jsonData =[NSJSONSerialization dataWithJSONObject:info 
  options:NSJSONWritingPrettyPrinted error:&error];

//print out the data contents
jsonSummary.text =[[NSString alloc] initWithData:jsonData                                        
  encoding:NSUTF8StringEncoding];

添加json方法至dic
@interfaceNSDictionary(JSONCategories)
+(NSDictionary*)dictionaryWithContentsOfJSONURLString:(NSString*)urlAddress;
-(NSData*)toJSON;
@end
 
@implementationNSDictionary(JSONCategories)
+(NSDictionary*)dictionaryWithContentsOfJSONURLString:(NSString*)urlAddress{
    NSData* data =[NSData dataWithContentsOfURL:[NSURL URLWithString: urlAddress]];
    __autoreleasing NSError* error =nil;
    id result =[NSJSONSerialization JSONObjectWithData:data 
      options:kNilOptions error:&error];
    if(error !=nil)returnnil;
    return result;
}
 
-(NSData*)toJSON{
    NSError* error =nil;
    id result =[NSJSONSerialization dataWithJSONObject:self 
      options:kNilOptions error:&error];
    if(error !=nil)returnnil;
    return result;    
}@end

使用列子
NSDictionary* myInfo =[NSDictionary dictionaryWithContentsOfJSONURLString:@"http://www.yahoo.com/news.json"];
NSDictionary* information =[NSDictionary dictionaryWithObjectsAndKeys:@"orange",@"apple",@"banana",@"fig",nil];
NSData* json =[information toJSON];

判断是否可json化

BOOL isTurnableToJSON =[NSJSONSerialization isValidJSONObject: object]

分享到:
评论

相关推荐

    IOS json解析

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

    IOS json解析成Model

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

    IOS JSON 解析工具类代码

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

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

    这次测试的目的是对比`NSJSONSerialization`与其他五种开源JSON解析库在iOS 5上的性能表现。 测试所涉及的五个开源JSON解析库如下: 1. **SBJSON (json-framework)**:这是一个基于Objective-C的JSON解析库,由...

    ios下解析json的demo

    本文将深入探讨如何在iOS环境下利用官方工具包解析JSON数据,以供开发者参考。 首先,我们需要了解JSON的基本结构。JSON是一种轻量级的、人可读的数据格式,主要用于存储和传输数据。其基本元素包括对象(object)...

    iOS下json解析工具

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

    iOS xml解析和json解析demo

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

    iOS json解析出错的几种情况总结

    iOS json解析出错 对于json格式,我们并不陌生,但是因为它处于不同的语言标准也不一致。分享一下最近项目出现的json问题: 1、编码问题,在不清楚服务端的编码格式的情况下,我直接使用: NSData *data = ...

    IOS开发---JSON不同的四种解析方式

    本文将详细介绍四种常见的iOS JSON解析方式:TouchJSON、JSONKit、原生JSON以及SBJSON。 1. **TouchJSON** TouchJSON是早期流行的JSON库,它提供了简单的API来解析和生成JSON。使用TouchJSON,你可以通过`...

    Unity3d json库 ios上无错

    SimpleJSON.cs是这个压缩包中的关键文件,它是一个轻量级的JSON解析器和序列化库,专为Unity3D设计。SimpleJSON并不依赖于反射,而是通过手动编写代码来解析和构建JSON结构,这使得它在iOS上运行更加稳定和高效。...

    IOS抓包工具和JSON解析工具

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

    ios下json数据解析的TouchJson的库

    TouchJson是Cocoa Touch框架下的一款轻量级的JSON解析库,它为Objective-C程序员提供了方便的接口来处理JSON数据。TouchJson是基于JSON Foundation,一个开源项目,提供了解析和生成JSON的能力。在iOS 5.0及以上版本...

    iOS--JsonKit解析数据第三方

    JsonKit是Objective-C编写的,为iOS和Mac OS X平台提供高性能的JSON解析和生成功能的库。它提供了简单的API,使得处理JSON数据变得直观且高效。然而,由于JsonKit是在ARC(Automatic Reference Counting)出现之前...

    IOS之JSON数据解析

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

    iOS开发Json解析Demo

    这个“iOS开发Json解析Demo”是基于这样的场景:应用通过网络请求获取豆瓣图书列表API的数据,然后对返回的JSON数据进行解析,将其转化为可操作的Objective-C或Swift对象,以便展示在用户界面上。 1. **JSON基本...

    IOS学习之四种Json解析方法的分析demo

    本文将深入探讨四种常见的JSON解析方法在iOS中的应用,并通过实际的代码示例进行分析。 首先,我们来看第一种解析库:SBJson。SBJson是由Stig Brautaset开发的一个Objective-C库,提供了简单的API来解析和生成JSON...

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

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

    IOS json 解析遇到错误问题解决办法

    总之,当iOS应用在解析JSON时遇到“Error Domain=NSCocoaErrorDomain Code=3840”错误,主要是由于JSON字符串中包含了未转义的控制字符。解决方法是对字符串进行预处理,移除或转义这些非法字符,然后再次尝试解析。...

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

    在解析JSON时,苹果提供了原生的`NSJSONSerialization`类,它是iOS中性能最优的JSON解析方案。`NSJSONSerialization`支持将JSON数据反序列化为Objective-C对象,如字典或数组,以及将Objective-C对象序列化为JSON...

Global site tag (gtag.js) - Google Analytics