ios Json的解析与创建

之前写过类似微信的语音功能,这里用到了json解析与创建

+ (NSString *)voiceMessageConentWithEntity:(VMessageEntity *)entity{

NSLog(@"entity.voiceMessage.voicemd5 == %@",entity.voiceMessage.voicemd5);

if (!entity) {

return
nil;

}

VChatVoiceEntity *voiceMessage = entity.voiceMessage;

if (!voiceMessage) {

return
nil;

}

NSString *voicemd5 = voiceMessage.voicemd5;

NSString *duration = voiceMessage.duration;

if (entity.messageType ==
VMessageTypeVoice) {

NSMutableDictionary *rootDict = [NSMutableDictionary
dictionary];

if (voicemd5) {

[rootDict setObject:voicemd5
forKey:@"md5"];

}

if (duration) {

[rootDict setObject:duration
forKey:@"duration"];

}

NSError *error =
nil;

NSData *jsonData = [NSJSONSerialization
dataWithJSONObject:rootDict
options:NSJSONWritingPrettyPrinted
error:&error];

if (error) {

NSLog(@"%@", error);

}

NSString *json = [[NSString
alloc] initWithData:jsonData
encoding:NSUTF8StringEncoding];

return json;

}else{

return
nil;

}

}

+ (VChatVoiceEntity *)voiceWithJson:(NSString *)json{

if (!json.length) {

return
nil;

}

NSData *jsonData = [json
dataUsingEncoding:NSUTF8StringEncoding];

NSError *error =
nil;

NSDictionary *root = [NSJSONSerialization
JSONObjectWithData:jsonData

options:NSJSONReadingMutableLeaves

error:&error];

if (root) {

VChatVoiceEntity *voiceMessage = [[VChatVoiceEntity
alloc] init];

voiceMessage.voicemd5 = [root
objectForKey:@"md5"];

voiceMessage.duration = [root
objectForKey:@"duration"];

return voiceMessage;

}

return
nil;

}

时间: 2024-09-30 11:16:48

ios Json的解析与创建的相关文章

ios json数据解析

刚刚下午那会 弄了个 解析 xml  demo的小例子,本想着json也挺复杂 弄还是 不弄,但是简单的看了下 发现挺简单,这个时候就犹豫了,要不写到博客上来 ? 考虑了很久,还是写上来吧,毕竟json用得太多了,而且算是自己的积累吧,毕竟刚开始学习IOS开发方面的知识,就当是巩固了撒! 还是 先看个效果图吧,如下! 接下来 看下工程目录吧,其实并没有必要,直接建立一个工程就行 ,算了,还是贴上来吧,如下: 工程目录中有个 Notes.json 文件,该文件就是 要解析的json数据了 ,也截下

iOS JSON 数据解析

JSON 是比较常用的数据格式,相比 XML 层次更清晰,这里介绍两种解析 JSON 的方式:NSJSONSerialization 和 JSONKit NSJSONSerialization 是 iOS 5 以后推出的,比较好用的 JSON 解析包. JSON 数据格式由对应的 '[',']' 和 '{','}',前者表示数组,后者表示字典. NSJSONSerialization 解析过程: 1.获取文件路径 2.获取文件内容 3.解析 简单小例子: 1 - (IBAction)parser

IOS JSON/XML解析

<pre name="code" class="objc">/*---------------------------XML_SAX解析-------------------------------*/ //XML SAX解析 - (IBAction)XML_SAX:(id)sender { NSData *da = [[NSData alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathFor

IOS - JSON数据解析 小3种方法

[manager GET:serverURL parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { // 3 解析返回的JSON数据 // 3.1 //        NSDictionary *result1 = (NSDictionary *)responseObject; // 3.2 //        NSString *requestTmp = [NSString string

iOS之网络数据下载和Json数据解析

iOS之网络数据下载和Json数据解析 简介 在本文中笔者将要给大家介绍iOS中如何利用NSURLConnection从网络上下载数据,如何解析下载下来的JSON数据,以及如何显示数据和图片的异步下载显示 涉及到的知识点: 1.NSURLConnection异步下载封装 2.JSON格式和JSON格式解析 3.数据显示和使用SDWebImage异步显示图片 内容 1.网络下载基础知识介绍 (1)什么是网络应用? 一般情况下, iPhone的计算机, 照相机不需要从网络上下载数据也能运行, 所以这

iOS - - JSON 和 XML解析

JSON 和 XML 一.JSON 1.什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) 2.JSON的格式很像OC中的字典和数组 {"name" : "jack", "age" : 10} {"names" : ["jack", "rose", "jim"]} 标准JSON

iOS开发——XML/JSON数据解析

除了XML和Json,文中还涉及到的一些知识:第三方类库的使用,获取本地文件内容,网站API使用,GCD多线程编程,不做详细介绍,在代码出现的地方会注明. 先安利一波: Json XML 大数据时代,我们需要从网络中获取海量的新鲜的各种信息,就不免要跟着两个家伙打交道,这是两种结构化的数据交换格式.一般来讲,我们会从网络获取XML或者Json格式的数据,这些数据有着特定的数据结构,必须对其进行解析,得到我们可以处理的数据.所谓“解析”,就是从事先规定好的格式串中提取数据.解析的前提是数据的提供方

iOS网络编程解析协议三:JSON数据传输解析

作为一种轻量级的数据交换格式,正在逐步取代XML,成为网络数据的通用格式 基于JavaScript的一个子集 易读性略差,编码手写难度大,数据量小 JSON格式取代了XML给网络传输带来了很大的便利,但是却没有了XML的一目了然,尤其是JSON数据很长的时候,我们会陷入繁琐复杂的数据节点查找中 作为一种轻量级的数据交换格式,JSON正在逐步取代XML,成为网络数据的通用格式 从iOS 5开始,使用NSJSONSerialization对JSON解析 其他常见的三种JSON解析第三方库:SBJso

iOS开发-简单解析JSON数据

什么是JSON ? JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) ? JSON的格式很像OC中的字典和数组 ? {"name" : "Jack", "age" : 10} {"name" : ["jack", "rose", "jim"]} ? 标准JSON格式的注意点: key必须用双