求助,jgson解析json为什么解不出来

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&好久没写文章了,回忆一下以前的内容记录一下吧。这一段主要接触的就是数据解析,就说一下数据解析现在数据解析一般解析两种数据 xml 和 JSON那就从xml解析说起吧xml解析需要用到一个类 NSXMLParser
以及一个协议 NSXMLParserDelegate首先NSXMLParser是一个 xml 解析器 要解析数据首先创建一个xml解析器 NSXMLParser
*XMLParser = [[NSXMLParser alloc]initWithData:data]; 其中data就是我们要解析的数据 然后执行解析就行
[XMLParser parse]; 执行解析时就会回调以下协议中的几个方法
#pragma mark NSXMLParserdelegate---//开始解析文档- (void)parserDidStartDocument:(NSXMLParser *)parser{//文档开始解析的时候调用,在这里可以初始化一些东西}//解析文档结束- (void)parserDidEndDocument:(NSXMLParser *)parser{//文档解析完成时调用,这里可以写解析完成后的操作}//标签解析开始- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
//标签开始解析,其中elementName就是开始标签的名称}//标签解析结束- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{//标签开始解析,其中elementName就是结束标签的名称,//在这里你可以做一些逻辑判断,看这个标签里的东西是不是自己需要的,然后进行操作}//解析出来的标签&#20540;- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{// string 这个就是当前解析标签的&#20540;,}其实还有一种xml解析的方法,就是dom解析,它是把XML看成树型结构,先找到根节点,然后利用循环嵌套,遍历根节点的子节点,遍历子节点的子节点,一直遍历到叶子节点,当然叶子节点是最后一层了,里面就是我们要得数据。这种方法我感觉不好用,太麻烦,循环嵌套太多。所以不推荐使用而且需要导入libxml2.dylib这个类库,最后还得修改路径
/usr/include/libxml2 但是在这里我还是把这个第三方类给出来吧/s/1sjtXAUh好接下来就是我们的JSON解析了。我感觉JSON解析的解析过程不重要,重要的是JSON解析之后对结果的处理JSON解析后是个dictionary,但是字典中有可能包含字典和数组,数组中还可以包含字典。新浪微博的请求微博返回的数据经过JSON解析结果就是这样的。下面就简单介绍一下JSON解析过程其实就一句话data就是解析数据//IOS5自带解析类NSJSONSerialization从data中解析出数据放到字典中
NSDictionary *weatherDic = [NSJSONSerialization JSONObjectWithData:Data options:NSJSONReadingMutableLeaves error:&error];
//TouchJSON//将解析得到的内容存放字典中 NSDictionary *pRootDic = [[CJSONDeserializer deserializer]deserialize:data error:&error];//这里的解析对象是NSData类型
// 获取一个解析器对象
SBJsonParser *parser = [[[SBJsonParser alloc] init]autorelease];
//获取json串解析后返回的字典
NSDictionary *rootDic = [parser objectWithString:String error:&error];//需要注意的是要先把解析的数据给解码为NSString类型然后才可以解析
//JSONKit //获取解析后的字典(完成解析,返回&#20540;为字典类型)
NSDictionary *pWeatherDic = [jsonStr objectFromJSONStringWithParseOptions:JKParseOptionLooseUnicode];//统一编码标准//注意 jsonStr还是把数据先解码为NSString型,之后jsonStr直接用解析方法就行了//这里附带一个把data转化为NSString类型的方法
NSString *string = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
下面附上TouchJSON,SBJSON 和 JSONKit的第三方类的链接
/s/1bnpGwxD好了今天就到这里,把最近学的知识分享给大家,如有错误欢迎指正 ―― LC找到问题但是找不到原因,json解析错误,求教!
[问题点数:100分,结帖人ywwj5858792qd]
找到问题但是找不到原因,json解析错误,求教!
[问题点数:100分,结帖人ywwj5858792qd]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2016年2月 总版技术专家分月排行榜第二2014年2月 总版技术专家分月排行榜第二2013年4月 总版技术专家分月排行榜第二
优秀小版主2015年7月优秀小版主2015年9月优秀小版主2015年5月优秀小版主2014年11月论坛优秀版主
2016年2月 总版技术专家分月排行榜第二2014年2月 总版技术专家分月排行榜第二2013年4月 总版技术专家分月排行榜第二
优秀小版主2015年7月优秀小版主2015年9月优秀小版主2015年5月优秀小版主2014年11月论坛优秀版主
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。

我要回帖

更多关于 json 汉字解析不出来 的文章

 

随机推荐