JSON之解析

JSON之解析

JSON之解析通过TouchJSON\SBJSON\JSONKit\NSJSONSerialization

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。格式:{ “firstName”: “a”,”secondName”:”b” }

 

NSJSONSerialization是iOS5开始自带的JSON解析API,且效率较高,解析的速度快

TouchJSON\SBJSON\JSONKit是第三方库

下载链接:

TouchJSON:https://github.com/TouchCode/TouchJSON

SBJSON:https://github.com/stig/json-framework

JSONKit:https://github.com/johnezang/JSONKit

在解析的效率上NSJSONSerialization>JSONKit>TouchJSON>SBJSON

以下是解析http://m.weather.com.cn/data/101010100.html,获得天气的不同方法

JSON内容是{“weatherinfo”:{
“city”:”北京”,”city_en”:”beijing”,”date_y”:”2013年3月9日”,,,,,,,,}}多层嵌套

一.NSJSONSerialization

解析方法:

NSDictionary *weatherDic=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error];

案列:

 

JSON之解析

 

二.JSONKit

解析方法:

 

#import “JSONKit.h”

1.

JSONDecoder *decoder=[[JSONDecoder alloc]init];

NSDictionary *weatherDic=[decoder objectWithData:data];

2.

NSDictionary *weatherDic=[data objectFromJSONData];

案列:

JSON之解析

 

三.TouchJSON

解析方法:

 

#import “CJSONDeserializer.h”

NSDictionary *weatherDic=[[CJSONDeserializer deserializer]deserialize:data error:&error];

案列:

JSON之解析 

 

TouchJSON可以把对象转化为JSON:

 

#import “CJSONSerializer.h”

NSData *jsonData = [[CJSONSerializer serializer] serializeObject:dictionary  error:&error];

四.SBJSON

解析方法:

#import “SBJson.h”

SBJsonParser *parser=[[SBJsonParser alloc]init];

NSDictionary *weatherDic=[parser objectWithData:data];

案列:

JSON之解析

 

转自http://my.oschina.net/LouWk/blog/112701

 

转载于:https://www.cnblogs.com/jiangshiyong/p/3173624.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110084.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SPSS 实现KMO和Bartlett的球形度检验[通俗易懂]

    SPSS 实现KMO和Bartlett的球形度检验[通俗易懂]第一步:选择“因子分析”导入数据后,按顺序选择就好:“分析”-“降维”-“因子”第二步:选择变量如果只有一个变量,选中之后,再点击一下中间向右边的那个箭头多个变量的话,比如,我这里选择x1-x8,就是选择x1变量后,按住shift键不放,再点击x8变量,就可以一下子选择8个变量。第三步:选择KMO和巴特利特球形度检验这里,先不要急着点“确定”,先选择“描述”,接着在“相关性矩阵”那里勾选“KMO和巴特利特球形度检验”输出结果KMO统计量值大于0.5,可以看出变量间的相关程度无太

    2022年6月15日
    98
  • linux的权限命令_linux命令总结

    linux的权限命令_linux命令总结查看文件或目录的权限:ll更改权限操作:chmod①.u表示:属主。②.g表示:所属组用户。③.o表示:其他用户。④.a表示:所有用户。⑤.+表示:增加权限。⑥.-表示:删除权限。⑦.=表示:分配权限。1.每一行显示一个文件或目录的信息,这些信息包括文件的类型、文件的权限、文件的属主、文件的所属组、文件大小、创建时间和文件名。2.读取权限:r,写入权限:w,执行权限:x。①—:没有权限,对应二进制为000,八进制为0.②–x:允许执行,对应二进制001,八进制为1.③-.

    2025年10月28日
    3
  • mysql 设置主键命令_MySQL常用命令

    mysql 设置主键命令_MySQL常用命令1、修改MySQL密码方法一:usemysql;updateusersetpassword=PASSWORD(“123456”)whereuser=‘root’;flushprivileges;忘记密码:sed-ri’3dskip-grant-tables’/etc/my.cnfsystemctlrestartmariadbusemysql;updateuse…

    2022年6月20日
    28
  • 我用Python采集了班花的空间数据集,除了美照竟然再一次发现了她另外的秘密![通俗易懂]

    大家好,我是辣条。室友知道了我上次给班花修过电脑,追了我三条街,嘴里大骂我不当人子,怪我这种事情没带他。最后又舔着脸求我支招,这货竟然想追班花!辣条我为了兄弟两(收)肋(钱)插(办)刀(事),毫不犹豫的答应了。但是我只有班花的QQ和微信怎么办呢,那就从她平时发的动态着手,于是就有了这篇文章,不过最后我又发现了她的另一秘密!采集数据目标网址:QQ空间工具使用开发环境:win10、python3.7开发工具:pycharm、Chrome工具包:selenium,re,time.

    2022年4月13日
    39
  • 彻底弄懂C语言数组名

    彻底弄懂C语言数组名先定义一个一维数组inta[]={0,1,2,3,4,5,6,7,8,9};一、数组名是什么数组名的值是数组首元素的指针常量。数组名不是指针,但大多数使用到数组名的地方,编译器都会把数组名隐式转换成一个指向数组首元素的指针来处理。只有两种情况下例外:第一种是对数组名使用sizeof运算符sizeof(a)这将会得到整个数组所占的内存大小,a是长度为10的int(4字节

    2022年7月11日
    24
  • datax(19):源码解读内置Transformer「建议收藏」

    datax(19):源码解读内置Transformer「建议收藏」通过datax(18)已经对transformer有了初步了解,继续撸代码,看datax已经内置的5种简单类型transformer;一、概述目前datax内置了5种常用的transformer,分别如下截取SubstrTransformer填充PadTransformer替换ReplaceTransformer过滤FilterTransformerGroovy类型GroovyTransformer二、SubstrTransformer主要是对record中的column的值进.

    2022年5月17日
    122

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号