JSON解析之解析本地文件

解析思路


1.獲取數(shù)據(jù)來源,就是文件的保存路徑 NSString *path。調(diào)用方法:pathForResource

2.讀取文件數(shù)據(jù),把path轉(zhuǎn)換成NSData *data。調(diào)用方法:[NSData dataWtihContentsOffFile:path];

3.解析文件數(shù)據(jù)(獲取key對應(yīng)的value),接收原則:{}使用字典;[]使用數(shù)組。調(diào)用方法:[NSJSONSerialization JSONObjectWithData:]

DOMO


解析文件 ?test.json

{

"FeelsLikeC" : 5,

"temp_c" : "3",

"request" : [ { "query" : "Beijing,China" }? ]

}


ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

//數(shù)據(jù)來源(test.json)

//讀取文件數(shù)據(jù)

NSString *jsonPath = [[NSBundle mainBundle] pathForResource:@"test.json" ofType:nil];

NSData *jsonData = [NSData dataWithContentsOfFile:jsonPath];

//解析(獲取key對應(yīng)的value)

//接收原則:{}使用字典;[]使用數(shù)組

NSError *error = nil;

NSDictionary *jsonDic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];

//體感溫度

NSNumber *feelsTemp = jsonDic[@"FeelsLikeC"];

//預(yù)報(bào)天氣的溫度

NSString *temp = jsonDic[@"temp_c"];

//城市名字

NSArray *requestArray = jsonDic[@"request"];

NSDictionary *queryDic = requestArray[0];

NSString *cityStr = queryDic[@"query"];

//驗(yàn)證

NSLog(@"feelsTemp:%@; temp:%@; cityStr:%@", feelsTemp, temp, cityStr);

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 一、iOS 4種JSON數(shù)據(jù)解析方法詳解 2013年09月10日? 綜合? 共 9124字? 字號小中大?評論關(guān)閉...
    lilinjianshu閱讀 2,092評論 0 2
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,211評論 30 472
  • 面向?qū)ο笕笾е庋b:就是把相關(guān)的數(shù)據(jù)和代碼結(jié)合成一個(gè)有機(jī)的整體,形成數(shù)據(jù)和操作代碼的封裝體,對外只提供一個(gè)可以控...
    WangDavid閱讀 1,707評論 0 2
  • 218.241.181.202 wxhl60 123456 192.168.10.253 wxhl66 wxhl6...
    CYC666閱讀 1,439評論 0 6
  • 一分鐘目標(biāo):想真正讓自己過目不忘的目標(biāo),要簡短而且要精煉,能夠抓住自己的眼球,隨時(shí)都可以提醒自己。 一分鐘稱贊:上...
    芙蓉卷閱讀 188評論 0 0