0

iPhoneアプリのjsonデータの解析に問題があります。Objective-Cを初めて使用します。jsonを解析し、続行するために値を取得する必要があります。助けてください。これは私のJSONデータです:

[{"projId":"5","projName":"AdtvWorld","projImg":"AdtvWorld.png","newFeedCount":"0"},{"projId":"1","projName":"Colabus","projImg":"Colabus.png","newFeedCount":"0"},{"projId":"38","projName":"Colabus Android","projImg":"ColabusIcon.jpg","newFeedCount":"0"},{"projId":"25","projName":"Colabus Internal Development","projImg":"icon.png","newFeedCount":"0"},{"projId":"26","projName":"Email Reply Test","projImg":"","newFeedCount":"0"},{"projId":"7","projName":"PLUS","projImg":"7plusSW.png","newFeedCount":"0"},{"projId":"8","projName":"Stridus Gmail Project","projImg":"scr4.png","newFeedCount":"0"}]
4

6 に答える 6

1

解析にはJSONKitライブラリを使用することをお勧めします。

これがその使い方のチュートリアルです。基本的には辞書になりobjectForKey、キーを使用して値を取得します。

于 2012-06-04T08:21:17.400 に答える
1

iOS 5以降では、を使用できますNSJSONSerialization。文字列にJSONデータがある場合は、次のことができます。

NSError *e = nil;
NSData *data = [stringData dataUsingEncoding:NSUTF8StringEncoding];
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: &e];

編集特定の値を取得するには:

NSDictionary *firstObject = [jsonArray objectAtIndex:0];
NSString *projectName = [firstObject objectForKey:@"projName"];
于 2012-06-04T08:26:16.963 に答える
1

JSONKit

また

NSJSONSerialization(iOS 5.0以降)

于 2012-06-04T08:49:45.490 に答える
0

私はjsonの読み取りと書き込みにSBJsonを使用して成功しました。

こちらのドキュメントを見て、その使用方法を理解してください。

基本的に、解析では、文字列をSBJsonParserに渡すだけで、objectForKey関数を含む辞書が返されます。たとえば、コードは次のようになります。

NSDictionary* parsed = [[[SBJsonParser alloc] init] objectWithString: json];
NSString* projId = [parsed objectForKey:@"projId"];
于 2012-06-04T08:35:56.797 に答える
0

SBJsonを使用する

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

NSMutableDictionary *dicRes = [parser objectWithString:stringFromServer error:nil];
于 2012-06-04T08:39:25.937 に答える
0

サードパーティのクラスを使用する必要はありません。Objective-cにはすでにJSONの処理が含まれています。

クラスはオブジェクトをNSJSONSerialization期待するNSDataか、URLから読み取ります。以下は、JSON文字列でテストされました。

NSString *json; // contains your example with escaped quotes
NSData *jsonData = [json dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:jsonData 
    options:NSJSONReadingAllowFragments error:&error] 

その他のオプションについては、ドキュメントNSJSONSerializationを参照してください。

于 2012-06-04T08:40:02.087 に答える