日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

ios jsonkit 报错_iOS开源项目:JSONKit

發(fā)布時(shí)間:2024/8/23 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ios jsonkit 报错_iOS开源项目:JSONKit 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一個(gè)Json解析庫(kù),其特點(diǎn)是代碼簡(jiǎn)單,只有一個(gè).h和.m文件。

https://github.com/johnezang/JSONKit

JSON(JavaScript Object Notation)是一個(gè)輕量級(jí)的,基于文本的,序列結(jié)構(gòu)化數(shù)據(jù)格式. 由RFC 4627定義.提供以下主要類型:

nullBooleantrue and falseNumber

String

Array

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

對(duì)應(yīng)的Objective—C的類:

JSONObjective-C

true?and?false

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

{

NSDictionary*people=[arr objectAtIndex:i];

NSString*name=[people objectForKey:@"name"];

NSString*age=[people objectForKey:@"age"];

NSLog(@"person withname=%@,age=%d",name,[age intValue]);

NSDictionary*book=[people objectForKey:@"book"];

NSString*bookname=[book objectForKey:@"title"];

NSNumber*price=[book objectForKey:@"price"];

NSLog(@"book with title=%@,price=%f",bookname,[price doubleValue]);

}

使用上很簡(jiǎn)單,利用字典鍵值對(duì)獲取就行,參考http://stephen830.iteye.com/blog/1718550。

2、原理:

JSONKit的源碼只有個(gè)兩個(gè)文件,先看看解析JSON的流程。

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

這個(gè)方法是NSData的Category,里面調(diào)用了

JSONDecoder的解析方法:

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

總的來(lái)說(shuō),JSONKit對(duì)

NSArray

NSString

NSData

NSDictionary

都進(jìn)行了序列化和反序列化的擴(kuò)展,可以把這些對(duì)象與JSON對(duì)象之間相互轉(zhuǎn)換。

由于JSONKit沒有使用ARC,所以使用時(shí)不要忘了在build phases -》compile sources?選擇文件后面加-fno-objc-arc參數(shù)。

總結(jié)

以上是生活随笔為你收集整理的ios jsonkit 报错_iOS开源项目:JSONKit的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。