iOSの道15-JSON解析


一:ローカル構築テストサーバー
  • finderを開き、ショートカットキーshift+com+gが/etc/apache 2ディレクトリ
  • に入ります.
  • 非表示ディレクトリdefaults write comを表示する.apple.finder AppleShowAllFiles -bool true
  • apache 2ディレクトリ権限を「読み取りと書き込み」
  • に変更
  • httpedを修正する.confの前に1部バックアップして、(1)DocumentRoot"/Users/ユーザー名/myweb"Directory"/Users/ユーザー名/myweb"を修正して、準備したjsonファイルをこのディレクトリの下に置いて、テストに備えて
  • を使用します.
    (2)Indexesを追加し、
                Options Indexes FollowSymLinks Multiviews
                MultiviewsMatch Any
    (3)前の#を外す
                LoadModule php5_module libexec/apache2/libphp5.so
        5. apacheの起動
            sudo apachectl -k start
    二:主な方法(逆シーケンス化の方法)
    NSJSONSerialization JSONObjectWithData
    三:コアはJSON形式の文字列をOCオブジェクトに変換する
    #import "ViewController.h"
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        NSURL *url = [NSURL URLWithString:@"http://127.0.0.1/demo.json"];
            NSURLRequest *request = [NSURLRequest requestWithURL:url];
            [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {
                if (connectionError) {
                    NSLog(@"  %@",connectionError);
                    return;
                }
                
                //  
                NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
                if (httpResponse.statusCode == 200 || httpResponse.statusCode == 304) {
                    //    data  JSON 
                    
                    //JSON    JSON 
                    //JSON        JSON OC 
                    
                    NSError *error;
                    
                    // JSON , OC 
                    id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
                    if (error) {
                        NSLog(@" JSON  %@",error);
                        return;
                    }          
                    NSLog(@"%@",json);
        
                    
                }else{
                    NSLog(@" ");
                }
            }];
        }
    @end