ios 使用json

1、从https://github.com/stig/json-framework/中下载json框架:json-framework

2、解压下载的包,将class文件夹下的所有文件导入到当前工程下。
?
3、在使用的文件中加入导入语句 :#import "SBJson.h"

4、将json字符串转为NSDictionary对象

[cpp]  view plain copy

//测试json的解析  
-(void)testJsonParser: (NSString *) jsonString  
{  
    jsonString = [[NSString alloc] initWithString:@"{\"userInfo\":{\"userName\":\"张三\",\"sex\":\"男\"}}"];  
    NSLog(@"正在解析json字符串是:%@",jsonString);  
      
    SBJsonParser * parser = [[SBJsonParser alloc] init];  
    NSError * error = nil;  
    NSMutableDictionary *jsonDic = [parser objectWithString:jsonString error:&error];  
    NSMutableDictionary * dicUserInfo = [jsonDic objectForKey:@"userInfo"];  
      
    NSLog(@"%@",[jsonDic objectForKey:@"userInfo" ]);  
    NSLog(@"%@",[dicUserInfo objectForKey:@"userName"]);  
    NSLog(@"%@",[dicUserInfo objectForKey:@"sex"]);  
}

5、 处理json对象有多个记录的方法

[cpp]  view plain copy

NSString * customerGridJsonString = [[NSString alloc]initWithString:@"{\"customer\":[{\"name\":\"roamer\",\"ycount\":\"232.4\",\"sumcount\":\"322.3\"},{\"name\":\"王三\",\"ycount\":\"221.2\",\"sumcount\":\"1123.2\"},{\"name\":\"李四\",\"ycount\":\"1221.2\",\"sumcount\":\"12123.2\"}]}"];  
          
        SBJsonParser * parser = [[SBJsonParser alloc] init];  
//        NSLog(@"%@",customerGridJsonString);  
        NSError * error = nil;  
          
        NSMutableDictionary *root = [[NSMutableDictionary alloc] initWithDictionary:[parser objectWithString:customerGridJsonString error:&error]];  
        NSLog(@"%@",root);  
        //注意转换代码  
        SBJsonWriter *jsonWriter = [[SBJsonWriter alloc] init];  
          
        NSString *jsonString = [jsonWriter stringWithObject:root];  
          
        [jsonWriter release];  
        NSLog(@"%@",jsonString);  
        //注意转换代码  
        NSMutableArray * customers = [root objectForKey:@"customer"];  
        NSLog(@"%@",customers);  http://www.huiyi8.com/moban/?
        for(NSMutableDictionary * member  in customers)  
        {  
            NSLog(@"%@",[[member objectForKey:@"name"] description]);  
        }

6、递归遍历解析出的NSDictionary对象

[cpp]  view plain copy

-(void)visitDict:(NSDictionary *)dict{    
  NSArray *keys=[dict allKeys];    
  for (NSString *key in keys) {    
     NSString *result=[NSString stringWithFormat:@"key=%@,value=%@",key,[dict objectForKey:key]];    
     NSLog(result);    
     if([[dict objectForKey:key] isKindOfClass:[NSDictionary class]]){    
            [self visitDict:[dict objectForKey:key]];    
     }    
   }    
}    
7、将解析出的NSDictionary对象还原为json字符串 
[cpp]  view plain copy网站模板

NSString * jsonStr=[items JSONRepresentation];

ios 使用json,布布扣,bubuko.com

时间: 2024-08-10 02:24:25

ios 使用json的相关文章

【转】Unity上同时兼容Android和IOS的JSON库

转自卡神博客Unity上同时兼容Android和IOS的JSON库 虽然说JSON解析很常见,而且也经常看见大家讨论怎么解析.但是还是很多人经常出现各种问题.这篇文章就一次性帮你解决JSON解析的问题. 本篇文章使用JSON解析在真实项目中使用,同时兼容PC.android和IOS.没啥好说,一个C#写的解析JSON的工具类,在unity中能正常解析. 不太好用的JSON解析库:LitJson在IOS上不稳定,有时正常,有时不正常..MiniJson据说支持不完整,没测试. 本文给出的JSON解

iOS 去除JSON里的转义符

iOS 去除JSON里的转义符 今天帮朋友弄这个问题,json返回全都是带'\'的,于是要去掉这个反斜杠,但是OC里面的'\'是转义符,不能直接用@"\"之类的表示,一顿搜索之后,找到了OC对转义字符的表示方法,如下: \a - Sound alert\b - 退格\f - Form feed\n - 换行\r - 回车\t - 水平制表符\v - 垂直制表符\\ - 反斜杠\" - 双引号\' - 单引号 那么知道如何表示'\',去掉这个就是一个遍历的事了.代码如下: NS

**iOS发JSON请求中字符串加转义,返回的JSON去转义

iOS中使用NSSerialization把对象转为JSON字符串后,多出来反斜杠的问题 http://segmentfault.com/q/1010000000576646 NSDictionary *dic = @{@"url": @"http://..."}; NSLog(@"%@", dic); NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:N

iOS 中json解析数据出现中文乱码的问题

一般服务器的编码格式都是UTF8,这样通过json解析下来的的数据,一般中文是不会出现乱码,但是如果服务器的编码格式不是UTF8,通过json解析的数据中的中文容易出现luan乱码,怎么解决这个问题呢? 一般都是通过转码来解决,但是直接转码,是不能达到效果的,例如 [jsonStringstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] 这样直接转码是达不到效果的. 解析数据的时候,可以先把数据存放在NSdata对象中,

iOS端JSON转Model链式编程框架SuperKVC使用方法与原理

背景 在client编程中.字典转模型是一个极为常见的问题,苹果提供了KVC来实现NSDictionary到Model的注入,可是KVC仅仅能进行单层浅注入.且无法处理类型转换.key与属性名不正确应.深度注入等问题,笔者从Masonry得到启示,开发了一个通过链式配置注入器实现深度注入.类型转换.key-属性名映射等功能的轻量级注入框架SuperKVC.眼下已经开源到GitHub,点击这里前往.欢迎Star和Fork.欢迎和我一起完好这个框架! 本文将从应用和原理两个角度介绍SuperKVC

(转)iOS XML JSON SQLite CoreData 数据持久化

一.文件操作 1.因为应用是在沙盒(Sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件: * Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录 * tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除 * Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下的文件不会在应用退出删除 2.相关方法:       # 使用NSSearchPathForDiretoriesI

零基础iOS之Json及XML数据解析2

零基础iOS之Json及XML数据解析http://www.cnblogs.com/dingjianjaja/articles/4798604.html

iOS XML/JSON解析

<a target=_blank href="http://download.csdn.net/detail/vaercly/7908319">点击打开下载链接iOS,XML/JSON解析</a> // FInterPreterVC.m // FInterpreter // // Created by lanouhn on 14-9-11. // Copyright (c) 2014年 [email protected] 陈聪雷. All rights rese

IOS解析JSON

JSON建构有两种结构: json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组2种结构,通过这两种结构可以表示各种复杂的结构 1.对象:对象在js中表示为“{}”扩起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字.字符串.数组.对象几种. 2.数组:数组在js中是中括号“[]”扩