IOS开发入门之iOS开源项目:JSONKit
凌雪 2018-11-09 来源 :网络 阅读 728 评论 0

摘要:本文将带你了解IOS开发入门iOS开源项目:JSONKit,希望本文对大家学IOS有所帮助。

本文将带你了解IOS开发入门iOS开源项目:JSONKit,希望本文对大家学IOS有所帮助。


       

 

iOS开源项目:JSONKit,一个Json解析库,其特点是代码简单,只有一个.h和.m文件。

https://github.com/johnezang/JSONKit

JSON(JavaScript Object   Notation)是一个轻量级的,基于文本的,序列结构化数据格式. 由RFC   4627定义.提供以下主要类型:


   

null

Boolean   true   and false

Number

String

Array

Object (a.k.a.   Associative Arrays, Key / Value Hash Tables, Maps, Dictionaries,   etc.)

   

 

 

对应的Objective—C的类:

 

JSON

Objective-C

 

null    NSNull    

trueandfalse    NSNumber    

Number    NSNumber    

String    NSString    

Array    NSArray    

Object    NSDictionary
     

1、使用:


   

NSString *jsonstring   =@"[{\"age\":18,\"book\":{\"price\":23.2,\"title\":\"boook111\"},\"name\":\"samyou\"},{\"age\":22,\"book\":{\"price\":33,\"title\":\"booook222\"},\"name\":\"samsam\"}]"; 

   

    NSData *data=[jsonstring dataUsingEncoding:NSUTF8StringEncoding];   

   

    NSArray *arr=(NSArray *)[data   mutableObjectFromJSONData]; 

   

    NSLog(@"count=%d",arr.count); 

   

    for(int i=0;i

使用上很简单,利用字典键值对获取就行,参考https://stephen830.iteye.com/blog/1718550。

2、原理:

 

JSONKit的源码只有个两个文件,先看看解析JSON的流程。

    NSArray *arr=(NSArray   *)[data   mutableObjectFromJSONData];

 

这个方法是NSData的Category,里面调用了

 

JSONDecoder的解析方法:

[JSONDecoder   decoderWithParseOptions:parseOptionFlags]) mutableObjectWithData:self   error:error];

 

 

总的来说,JSONKit对

 

NSArray

 

NSString

 

NSData

 

NSDictionary

 

都进行了序列化和反序列化的扩展,可以把这些对象与JSON对象之间相互转换。

 

由于JSONKit没有使用ARC,所以使用时不要忘了在build   phases -》compile   sources选择文件后面加-fno-objc-arc参数。


    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!

 

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程