iPhone ios json解析プロセス、チュートリアル
以下、皆さんの友情を応援します.
製品を作って、人気の支持を必要として、androidとiphoneの上で91市場は#super juniorのファンの団を検索して、あるいは直接ページにダウンロードしますhttp://m.ixingji.com/m.html?p=X16ああ、みんながお世辞を言ってくれた.
JSON 現在流行している資料のフォーマットで、 XML それに比べてJSON もっと軽いです.同じ資料を転送する場合、JSON ほとんどの場合 XML のファイルは小さくて、携帯電話のネット上で伝送します JSON よりも XMLが速い.
にある iPhone Cocoa Touch Framework には当たらない Library デアクション JSON 資料の書式.幸いなことに一部の人は Objective C 操作できるように作られています JSON資料形式の Library. 私が使っているのは json-frameworkのダウンロードが完了すると JSON フォルダをプロジェクトにコピー 内、そしてその Class JSON Libraryに使用するには 導入さえすれば JSON.h それでいいです.
以上の資料を一つ置きます. data.json を選択します.このファイルを読み込みます.
2行目はファイルの内容を NSString で行ないます.5行目は JSON Parser,準備は JSON 文字列変換 Object. 6行目 JSON 文字列変換 NSDictionary、そしてこれ NSDictionary 内の Object すでに JSON Parser 対応するObjectに変換します.たとえば、次のようにします. NSArray, NSDictionary, NSString などなど.8行目はキーワードの使用 "glossary" ちゅうしゅつ Object、なぜなら Object は、次のセクションを含む資料です.
9行目は以上の資料にキーワードを付けて "title" 内容を抽出し、以上の資料にキーワードを付ける "title" 内の内容は 「example glossary」というので、返信しました Object ひとつ NSString Object. 14行目は抽出 "GlossSeeAlso" を選択します.
["GML", "XML"]
ご覧の通り、これは アリー、だから返事は Object ひとつ NSArray Object.
最後に印刷された内容は次のとおりです.
場合 JSON データはネットワーク経由で読み取ります.以下の方法があります.
サンプルのダウンロード: JSON.zip
製品を作って、人気の支持を必要として、androidとiphoneの上で91市場は#super juniorのファンの団を検索して、あるいは直接ページにダウンロードしますhttp://m.ixingji.com/m.html?p=X16ああ、みんながお世辞を言ってくれた.
JSON 現在流行している資料のフォーマットで、 XML それに比べてJSON もっと軽いです.同じ資料を転送する場合、JSON ほとんどの場合 XML のファイルは小さくて、携帯電話のネット上で伝送します JSON よりも XMLが速い.
にある iPhone Cocoa Touch Framework には当たらない Library デアクション JSON 資料の書式.幸いなことに一部の人は Objective C 操作できるように作られています JSON資料形式の Library. 私が使っているのは json-frameworkのダウンロードが完了すると JSON フォルダをプロジェクトにコピー 内、そしてその Class JSON Libraryに使用するには 導入さえすれば JSON.h それでいいです.
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
以上の資料を一つ置きます. data.json を選択します.このファイルを読み込みます.
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"json"];
NSString *jsonStr = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *json = [parser objectWithString:jsonStr error:nil];
NSDictionary *glossary = [json objectForKey:@"glossary"];
NSString *glossaryTitle = [glossary objectForKey:@"title"];
NSDictionary *glossDiv = [glossary objectForKey:@"GlossDiv"];
NSString *glossDivTitle = [glossDiv objectForKey:@"title"];
NSArray *glossSeeAlso = [[[[glossDiv objectForKey:@"GlossList"]
objectForKey: @"GlossEntry"]
objectForKey: @"GlossDef"]
objectForKey: @"GlossSeeAlso"];
NSLog(@"Glossary Title: %@", glossaryTitle);
NSLog(@"GlossDiv Title : %@", glossDivTitle);
NSLog(@"GlossSeeAlso item 1: %@", [glossSeeAlso objectAtIndex:0]);
NSLog(@"GlossSeeAlso item 2: %@", [glossSeeAlso objectAtIndex:1]);
2行目はファイルの内容を NSString で行ないます.5行目は JSON Parser,準備は JSON 文字列変換 Object. 6行目 JSON 文字列変換 NSDictionary、そしてこれ NSDictionary 内の Object すでに JSON Parser 対応するObjectに変換します.たとえば、次のようにします. NSArray, NSDictionary, NSString などなど.8行目はキーワードの使用 "glossary" ちゅうしゅつ Object、なぜなら Object は、次のセクションを含む資料です.
{
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
9行目は以上の資料にキーワードを付けて "title" 内容を抽出し、以上の資料にキーワードを付ける "title" 内の内容は 「example glossary」というので、返信しました Object ひとつ NSString Object. 14行目は抽出 "GlossSeeAlso" を選択します.
["GML", "XML"]
ご覧の通り、これは アリー、だから返事は Object ひとつ NSArray Object.
最後に印刷された内容は次のとおりです.
2010-08-27 15:15:44.003 JSON[47655:207] Glossary Title: example glossary
2010-08-27 15:15:44.049 JSON[47655:207] GlossDiv Title : S
2010-08-27 15:15:44.050 JSON[47655:207] GlossSeeAlso item 1: GML
2010-08-27 15:15:44.050 JSON[47655:207] GlossSeeAlso item 2: XML
場合 JSON データはネットワーク経由で読み取ります.以下の方法があります.
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://pro.ctlok.com/data.json"]];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *jsonStr = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
サンプルのダウンロード: JSON.zip