关于NSString转NSDictionary nsstringnsdata格式转换nsdictionary字符串转字典 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第一个问题:NSKeyedUnarchiver 用于对序列化的对象“解档”,也就是反序列化。显然此处的NSData非序列化后得到对象,所以你在试图对一个非使用NSKeyedArchiver 的NSData对象进行“解档”,就会崩溃,报如上错误。如果你此处的[self dataFilePath] 文件中存储的内容是json格式,在使用initWithContentsOfFile: 读取到NSData 数据流中后,可直接尝试使用下面的代码来进行解析,但前提是要保证你存储的是json格式。id json = [NSJSONSerialization JSONObjectWithData:newdata options:0 error:nil];所以完整的代码如下,你可以尝试一下NSData *data = [[NSMutableData alloc] initWithContentsOfFile:[self dataFilePath]];id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];NSLog(@"json:%@",json); 如果是json格式的string,用NSJSONSerialization是没问题的,你这个string看名字应该是XML类型,可以先把XML转成NSDictionary,参考这个:http://stackoverflow.com/questions/6354159/how-to-convet-xml-string-to-json-using-iphone-sdk 你这个方法和我第二个方法是一样的...得到的json为空 我那个是服务器返回的soap信息,得到的信息格式如下:<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetThisResponse xmlns="http://tempuri.org/"><GetThisResult>{"Code":"111","Re":"成功","Total":1,"Data":{"date":[{"Guid":".......之前我是用正则表达式去掉了所有标签,得到了一个字典格式的nsstring:{"Code":"111","Re":"成功","Total":1,"Data":{"date":[{"Guid":".......所以我问有没有方法可以转...给我的那个方法我看了 确实是不行的 你这个string方便全部给出么,如果正常情况下,应该可以返回对象的:NSString *jsonString = @"{\"Code\":\"111\",\"Re\":\"成功\",\"Total\":1,\"Data\":{\"date\":[{\"Guid\":\"test\"}]}}";NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];NSObject *object = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil];Printing description of object:{ Code = 111; Data = { date = ( { Guid = test; } ); }; Re = "\U6210\U529f"; Total = 1;} 格式:{Code:"000",Re:"成功",Total:2, "Data":{"date":[{"Guid":" ","Content":" "}]}}这个我最开始就说了...能够转成nsdata 但是转成json时就会变成nil 转成NSData说明不了什么,任何东西都可以转成NSData(转成NSData不代表是有效的json数据),上面那个例子,我是想说用你提供的部分string能够解析成字典,你为什么解析不了呢?我猜是因为完整的字符串里面有不是json的东西 成功了 非常感谢原因是服务对请求返回了两次第一次返回信心不全,故不能转换。顺便问一下,貌似afnetworking可以做soap得发送和接受? 成功了 非常感谢原因是服务对请求返回了两次第一次返回信心不全,故不能转换。顺便问一下,貌似afnetworking可以做soap得发送和接受?soap是基于HTTP的,只要是满足soap协议的XML,都是一条soap消息,AFNetworking是http的框架,并不关心body部分是什么内容,所以是可以做的 你这个方法和我第二个方法是一样的...得到的json为空如果是合法的json格式,在转换时应该是不会有问题的。除非是你的json格式有问题,还是检查一下吧。 成功了 非常感谢原因是服务对请求返回了两次第一次返回信心不全,故不能转换。顺便问一下,貌似afnetworking可以做soap得发送和接受?soap是基于HTTP的,只要是满足soap协议的XML,都是一条soap消息,AFNetworking是http的框架,并不关心body部分是什么内容,所以是可以做的那怎么网上没看见有这方面的教程呢 按理说用afnetworking应该更简单啊 但是好像很多人像我这样直接手写请求,并自己解析 成功了 非常感谢原因是服务对请求返回了两次第一次返回信心不全,故不能转换。顺便问一下,貌似afnetworking可以做soap得发送和接受?soap是基于HTTP的,只要是满足soap协议的XML,都是一条soap消息,AFNetworking是http的框架,并不关心body部分是什么内容,所以是可以做的那怎么网上没看见有这方面的教程呢 按理说用afnetworking应该更简单啊 但是好像很多人像我这样直接手写请求,并自己解析因为AFNetworking并没有对soap进行单独的支持,所以就算用AFNetworking的话,也需要自己封装好XML,然后设置为请求体,请求的回调的话,我刚看了下,AFNetworking是支持解析XML文档的,只需要用responseSerialization赋值成指定的类就行了,你可以试试这两个:AFXMLParserResponseSerializer、AFXMLDocumentResponseSerializer 成功了 非常感谢原因是服务对请求返回了两次第一次返回信心不全,故不能转换。顺便问一下,貌似afnetworking可以做soap得发送和接受?soap是基于HTTP的,只要是满足soap协议的XML,都是一条soap消息,AFNetworking是http的框架,并不关心body部分是什么内容,所以是可以做的那怎么网上没看见有这方面的教程呢 按理说用afnetworking应该更简单啊 但是好像很多人像我这样直接手写请求,并自己解析因为AFNetworking并没有对soap进行单独的支持,所以就算用AFNetworking的话,也需要自己封装好XML,然后设置为请求体,请求的回调的话,我刚看了下,AFNetworking是支持解析XML文档的,只需要用responseSerialization赋值成指定的类就行了,你可以试试这两个:AFXMLParserResponseSerializer、AFXMLDocumentResponseSerializer好的 非常感谢 NSData *data = [STR(你自己的字符串) dataUsingEncoding:NSUTF8StringEncoding]; NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; NSString *headName = [dic objectForKey:@"nickname"]; NSLog(@"headName:%@",headName); 在xcode4环境使用boost库遇到问题求助 NSMutableURLRequest post 中文乱码,怎么办,已经是utf8 我想做一个简单的uiwebview加载一个网页怎么弄? 为什么我设置焦距没有效果 微信IOS SDK1.4.2第三方APP内容分享 iOS 签名 证书问题 未来是否会为自己的移动应用加入IM功能? 在app内展示ppt swift oc 混编,oc 如何访问swift类中的方法 IOS 如何实现类似于网易云音乐更换头像的ImagePicker 新人使用APPCAN生成安卓和IOS遇到的超难问题!!!!!!!!!! 本地网页如何加参数?
如果你此处的[self dataFilePath] 文件中存储的内容是json格式,在使用initWithContentsOfFile: 读取到NSData 数据流中后,可直接尝试使用下面的代码来进行解析,但前提是要保证你存储的是json格式。
id json = [NSJSONSerialization JSONObjectWithData:newdata options:0 error:nil];所以完整的代码如下,你可以尝试一下
NSData *data = [[NSMutableData alloc] initWithContentsOfFile:[self dataFilePath]];
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"json:%@",json);
http://stackoverflow.com/questions/6354159/how-to-convet-xml-string-to-json-using-iphone-sdk
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetThisResponse xmlns="http://tempuri.org/"><GetThisResult>{"Code":"111","Re":"成功","Total":1,"Data":{"date":[{"Guid":".......
之前我是用正则表达式去掉了所有标签,得到了一个字典格式的nsstring:{"Code":"111","Re":"成功","Total":1,"Data":{"date":[{"Guid":".......
所以我问有没有方法可以转...
给我的那个方法我看了 确实是不行的
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSObject *object = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil];
Printing description of object:
{
Code = 111;
Data = {
date = (
{
Guid = test;
}
);
};
Re = "\U6210\U529f";
Total = 1;
}
成功了 非常感谢
原因是服务对请求返回了两次
第一次返回信心不全,故不能转换。顺便问一下,貌似afnetworking可以做soap得发送和接受?
成功了 非常感谢
原因是服务对请求返回了两次
第一次返回信心不全,故不能转换。顺便问一下,貌似afnetworking可以做soap得发送和接受?
soap是基于HTTP的,只要是满足soap协议的XML,都是一条soap消息,AFNetworking是http的框架,并不关心body部分是什么内容,所以是可以做的
成功了 非常感谢
原因是服务对请求返回了两次
第一次返回信心不全,故不能转换。顺便问一下,貌似afnetworking可以做soap得发送和接受?
soap是基于HTTP的,只要是满足soap协议的XML,都是一条soap消息,AFNetworking是http的框架,并不关心body部分是什么内容,所以是可以做的
那怎么网上没看见有这方面的教程呢 按理说用afnetworking应该更简单啊 但是好像很多人像我这样直接手写请求,并自己解析
成功了 非常感谢
原因是服务对请求返回了两次
第一次返回信心不全,故不能转换。顺便问一下,貌似afnetworking可以做soap得发送和接受?
soap是基于HTTP的,只要是满足soap协议的XML,都是一条soap消息,AFNetworking是http的框架,并不关心body部分是什么内容,所以是可以做的
那怎么网上没看见有这方面的教程呢 按理说用afnetworking应该更简单啊 但是好像很多人像我这样直接手写请求,并自己解析
因为AFNetworking并没有对soap进行单独的支持,所以就算用AFNetworking的话,也需要自己封装好XML,然后设置为请求体,请求的回调的话,我刚看了下,AFNetworking是支持解析XML文档的,只需要用responseSerialization赋值成指定的类就行了,你可以试试这两个:AFXMLParserResponseSerializer、AFXMLDocumentResponseSerializer
成功了 非常感谢
原因是服务对请求返回了两次
第一次返回信心不全,故不能转换。顺便问一下,貌似afnetworking可以做soap得发送和接受?
soap是基于HTTP的,只要是满足soap协议的XML,都是一条soap消息,AFNetworking是http的框架,并不关心body部分是什么内容,所以是可以做的
那怎么网上没看见有这方面的教程呢 按理说用afnetworking应该更简单啊 但是好像很多人像我这样直接手写请求,并自己解析
因为AFNetworking并没有对soap进行单独的支持,所以就算用AFNetworking的话,也需要自己封装好XML,然后设置为请求体,请求的回调的话,我刚看了下,AFNetworking是支持解析XML文档的,只需要用responseSerialization赋值成指定的类就行了,你可以试试这两个:AFXMLParserResponseSerializer、AFXMLDocumentResponseSerializer
好的 非常感谢
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil]; NSString *headName = [dic objectForKey:@"nickname"];
NSLog(@"headName:%@",headName);