2017-01-24 62 views
1

こんにちはイムを変更するには、私はこの問題を整理するのに役立ちますどのようにiOSの開発に全く新しいObjective Cの中にJSON出力フォーマット

私は以下の形式でJSON値を取得することができますし、また私が持っています私は、JSONの出力を取得するために使用されるコードを添付

マイコード:

Async JSON: (
     { 
     "job_code" = SRTCN01121; 
     "job_id" = 1121; 
    }, 
     { 
     "job_code" = SRTCN01126; 
     "job_id" = 1126; 
    } 
) 

NSData *cityData = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]]; 


NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:strURL]]; 

     __block NSDictionary *json; 
     [NSURLConnection sendAsynchronousRequest:request 
              queue:[NSOperationQueue mainQueue] 
           completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { 
            json = [NSJSONSerialization JSONObjectWithData:data 
                      options:0 
                      error:nil]; 
            NSLog(@"Async JSON: %@", json); 
           }]; 

これは私が出力を得た方法であります210

しかし、これは私が必要なものはありませんが、私は、JSONの出力形式に以下のようなものが必要です。

Async JSON: (
      (
      SRTCN01121, 
      1121 
     ), 
      (
      SRTCN01126, 
      1126 
     ) 
    ) 

をあなたが保存できるモデルクラスを持つことができ、私はこの問題に

+0

あなたは直接キーを使用して値をアクセスすることができますが、私の提案を取得する必要はありません。 –

+0

@テラ:あなたは単に値をしたいですか? –

答えて

0

を整理する助けてください

@interface Job : NSObject 
@property(nonatomic, assign) NSInteger jobID; 
@property(nonatomic, copy) NSString *jobCode; 
@end 

今ここであなたのデータの各セットの値はJSONデータを解析するために使用することができ、コードの一部です。あなたはJSONレスポンス

NOTEを持ってNSDictionary JSON持って考える:JSONレスポンスでは、(){配列に対し、言う}辞書は述べています。

あなたの応答にネストされた辞書があります。

- (NSArray *)parseResponse:(NSDictionary *)jsonResponse 
{ 
    NSMutableArray *responseArray = [NSMutableArray array]; 

    for (NSDictionary *dictionary in jsonResponse) 
    { 
     Job *job = [[Job alloc] init]; 
     job.jobID = [[dictionary valueForKey:@"job_id"] integerValue]; 
     job.jobCode = [dictionary valueForKey:@"job_code"]; 

     [responseArray addObject:job]; 
    } 

    return [responseArray copy]; 
}               

後、あなたは、配列からデータにアクセスすることができます方法です。

- (void)printResponse:(NSArray *)array 
{ 
    for(Job *job in array) 
    { 
     NSLog(@"Code : %@, ID : %ld", job.jobCode, job.jobID); 
    } 
} 

これが役立ちます。

関連する問題