2

iOS 5.1アプリケーションで、JSONテキストファイルをNSDictionaryにロードしようとしています。

NSString *filepath = [[NSBundle mainBundle] pathForResource:@"stuff" ofType:@"json"];
NSDictionary *stuff = [NSDictionary dictionaryWithContentsOfFile:filepath];

ファイルパスは有効で、ファイルは存在しますが、ものはですnil。これは、ファイルのデコードに問題があったことを意味します(ドキュメントによると)。

(方法)なぜ[NSDictionary dictionaryWithContentsOfFile:](または任意の種類のAPI呼び出し)が返されるのかについて、より多くのデバッグ情報を取得できますnilか?

4

2 に答える 2

4

と読んでNSData使用して+[NSPropertyListSerialization propertyListWithData:options:format:error:]ください。

于 2012-06-06T09:12:49.857 に答える
1

あなたが言ったように:あなたのファイルにはJSON文字列が含まれています。まず、文字列をロードしてから、JSON ライブラリを使用して解析する必要があります。

例えば:

NSError *error;
NSString *content = [NSString stringWithContentsOfFile:filepath encoding:NSUTF8StringEncoding error:&error];  //error checking omitted
SBJsonParser *parser = [[SBJsonParser alloc] init];
NSDictionary *json = [parser objectWithString: content];
于 2012-06-06T09:13:21.610 に答える