`

ios5 支持 json 转化

    博客分类:
  • ios
 
阅读更多

------

 

解析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]
 

 

 

 

 

 

 

---------

 

分享到:
评论
1 楼 woyaowenzi 2012-02-21  
使用的例子我一个都没有成功,全部返回nil,error=0x。我使用BOOL isTurnableToJSON =[NSJSONSerialization isValidJSONObject: object]  对information进行判断,发现返回NO

相关推荐

    IOS XML转JSON数据

    - 注意,不是所有的字典都能转换为JSON,JSON只支持基础数据类型(如字符串、数字、布尔值、数组、字典)和null。 4. **错误处理** - 在解析XML和转换JSON的过程中,可能会遇到错误,例如格式不正确、内存不足等...

    IOS XML类型转JSON类型

    1. JSON不支持注释和命名空间,所以在转换过程中需要处理这些XML特性。 2. XML的数据结构可能比JSON复杂,比如命名空间、属性和处理指令等,转换时需特别留意。 3. 转换过程中可能出现的数据类型不匹配问题,如XML的...

    IOS json解析成Model

    在iOS开发中,JSON是一种广泛使用的数据交换格式,它轻量级、易于读写,并且被各种编程语言支持。当我们从服务器获取数据时,通常会得到JSON格式的响应,然后需要将其转换为Objective-C或Swift中的Model对象以便...

    iOS开发根据JSON字符串自动生成JSONModel文件

    1. **JSON解析**:工具首先需要解析输入的JSON字符串,将其转化为JSON对象,这可以通过使用Foundation框架中的`NSJSONSerialization`类来实现。 2. **模型类生成**:解析后的JSON对象被用来创建模型类的属性。工具...

    ios demo,JSONString to NSDictionary,字符串JSON数据转换到字典数据

    本示例“ios demo, JSONString to NSDictionary”聚焦于将JSON字符串转化为Objective-C中的NSDictionary对象,这是iOS开发中的常见操作。接下来,我们将深入探讨这个过程以及相关知识点。 首先,理解JSON的基本结构...

    IOS 将字典和数组转化为JSON数据

    在iOS开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,它允许程序员以易于读写的方式存储和传输数据。JSON格式基于JavaScript语法,但它是独立于语言的,拥有明确的规范定义。在iOS...

    IOS用于JSON到Object的转换

    通过自动映射和扩展功能,`RMMapper`能够帮助开发者轻松地将JSON数据转化为应用程序的业务对象,从而提高开发效率并减少错误。在实际开发中,根据项目的规模和需求选择最适合的解决方案是非常重要的。

    Delphi XE5 IOS 解析Json格式

    SuperObject支持Delphi的XE5版本,这意味着开发者可以充分利用其功能在iOS平台上构建应用程序。 首先,我们要了解JSON的基本结构。JSON是一种基于文本的数据表示形式,由键值对(key-value pairs)和数组(arrays)...

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

    在这个过程中,如果JSON数据中存在`null`,在Objective-C中会被转化为`NSNull`对象。 序列化(OC对象 -> JSON): ```objc NSDictionary *objcDict = @{@"key1":@"value1", @"key2":@[@1, @2, @3], @"key3": ...

    iOS Json 实体类序列化及反序列化

    通过以上步骤,我们可以高效地在iOS应用中处理JSON数据,无论是将对象转化为JSON字符串进行网络传输,还是从接收到的JSON数据中还原对象,都变得十分便捷。在实际开发中,还应结合具体需求,选择适合的序列化库,如...

    iOS json一键转换Model

    "iOS json一键转换Model"是一个针对这个问题的工具库,它提供了方便快捷的方法,帮助开发者快速地将JSON字符串转化为自定义的Swift或Objective-C模型类。这个工具库名为JSONModel,具有高度的自动化特性,大大提高了...

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

    自iOS 5开始,Apple在其SDK中内置了对JSON的支持,通过`NSJSONSerialization`类。这个类提供了完整的JSON解析和序列化功能,而且性能非常优秀。使用方法与JSONKit类似,如下所示: ```objc NSDictionary *json...

    ios下json数据解析的SBJson 库

    在解析方面,SBJson提供了`SBJsonParser`类,可以将接收到的JSON格式的字符串转化为Foundation框架中的基本对象,如NSArray、NSDictionary、NSString、NSNumber和NSNull。例如,当接收到一个包含用户信息的JSON字符...

    iOS OC Json文件转Model对象

    5. 转换完成后,我们就可以直接操作Model对象,无需关心底层的JSON解析细节,大大提高了开发效率。 "JSONToModel"这类工具的优势在于减少了手动编码的工作,降低了出错的可能性,并且使得代码更易于维护。然而,也...

    ios毕业练习mymovie json autolayout

    在iOS开发领域,"ios毕业练习mymovie json autolayout"这个项目涵盖了几个关键的知识点,主要包括框架搭建、JSON解析以及Autolayout自动布局的使用。这些是iOS应用开发中不可或缺的部分,对于任何iOS开发者来说,...

    Excel转Json工具

    5. **导出JSON**:完成转换后,工具会生成一个或多个JSON文件,用户可以选择保存到本地或者直接复制JSON文本。 6. **批量处理**:对于大量Excel文件的转换需求,某些工具可能支持批量操作,一次处理多个文件,极大...

    ios json测试demo

    数据封装是指将应用程序的数据模型转化为JSON格式的过程。苹果提供了两个内置框架来实现这一过程:Foundation框架中的`NSJSONSerialization`类和CocoaPods库如Alamofire的序列化功能。 - `NSJSONSerialization`: ...

    iOS开发Json解析Demo

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

    iOS json -》模型

    本篇文章将深入探讨如何使用`NObject`和`JKCoding`来实现JSON到模型的转化。 首先,我们需要了解JSON的基本结构。JSON是一种由键值对组成的数据格式,它可以表示数组和对象。在iOS开发中,`NSJSONSerialization`类...

    JSON转化工具类 JSONParser.zip

    JSON转化工具类 JSONParser ,iOS数据转化组件 (JSONParser),支持JSON字符串、模型、字典、模型数组、字典数组之间...

Global site tag (gtag.js) - Google Analytics