web-dev-qa-db-ja.com

iOSのファイルからJSONを解析するにはどうすればよいですか?

JSONファイルからデータを解析しようとしています。私はその解析/フェッチしたデータをラベル付きのUIViewまたはWebViewに入れようとしています。 JSONファイルは次のようになります。

{"bodytext": "<p>\n Some lines here about some webpage (&ldquo; <em>Site</>&rdquo;) some more lines here. \n </p>\n\n <p>\n some more stuff here </p>
}

Stack Overflowには、Web URLから取得したJSONを解析する方法を示す投稿がありますが、実際には解析したいJSONファイルが既にあります。ファイルからJSONを解析するにはどうすればよいですか?

43
Chris
  1. 空のテキストファイル(新規ファイル/その他/空)を作成します。 「example.json」

  2. JSON文字列をファイルに貼り付けます。

  3. これらの行を使用してデータを取得します。

    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"example" ofType:@"json"];
    NSData *data = [NSData dataWithContentsOfFile:filePath];
    NSArray *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
    
122
ArturOlszak

受け入れられた答えのSwift 2.0バージョン:

if let filePath = NSBundle.mainBundle().pathForResource("example", ofType: "json"), data = NSData(contentsOfFile: filePath) {
        do {
            let json = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments)
        }
        catch {
            //Handle error
        }
    }
18
Chris C

私はこれに従いました、それはうまく機能しています

NSError *error = nil;
 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"messages" 
                                                      ofType:@"json"];
 NSData *dataFromFile = [NSData dataWithContentsOfFile:filePath];
 NSDictionary *data = [NSJSONSerialization JSONObjectWithData:dataFromFile
                                                      options:kNilOptions
                                                        error:&error];
 if (error != nil) {
  NSLog(@"Error: was not able to load messages.");
  return nil;
 }
7
wassay khan