だから私はこのjsonデータを解析しようとしています:
{
deal = Test;
expires = "2012-07-29 22:50:30";
"is_active" = 1;
"id" = 27;
users = (
{
distance = 0;
latitude = "41.312618";
longitude = "-74.195114";
"user_id" = 34;
},
{
distance = 0;
latitude = "41.312618";
longitude = "-74.195114";
"user_id" = 35;
},
{
distance = 0;
latitude = "41.312618";
longitude = "-74.195114";
"user_id" = 36;
},
{
distance = 0;
latitude = "41.312618";
longitude = "-74.195114";
"user_id" = 38;
}
);
},
{
deal = Testing;
expires = "2012-07-29 23:37:38";
"is_active" = 0;
"id" = 26;
users = (
{
distance = 0;
latitude = "41.312618";
longitude = "-74.195114";
"user_id" = 37;
}
);
}
したがって、各セクションのヘッダーを取引にして、行をその取引に関連付けられた各ユーザーにする必要があります。したがって、最初の取引「テスト」では、ユーザー 34、35、36、および 38 の 4 つの行が存在します。次に、2 番目の取引「テスト」ではユーザーが 1 人しかいないため、1 行のみです。これは、無制限の数の取引で機能できる必要があります。すべての取引を 1 つの配列に解析できますが、ユーザーを分離する方法がわかりません。助けてください!
編集:
これは、Json データを取得し、それと取引を保存する方法です。
NSURL *loginURL = [NSURL URLWithString: [NSString stringWithFormat: URL];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:loginURL];
[theRequest setHTTPMethod:@"POST"];
NSError *error;
NSURLResponse *response;
NSData * responseData=[NSURLConnection sendSynchronousRequest:theRequest returningResponse:&response error:&error];
NSDictionary * luckyNumbers = [NSJSONSerialization JSONObjectWithData:responseData //1
options:NSJSONReadingAllowFragments
error:&error];
NSLog(@" %@", luckyNumbers);
NSArray * array1 = [luckyNumbers objectForKey:@"active"]; //THIS IS THE JSON THAT IS DISPLAYED ABOVE
deals = [[NSMutableArray alloc] init];
active = [[NSMutableArray alloc] init];
for (NSDictionary *item in array1)
{
[deals addObject:item]; // THIS WORKS FINE. IT RETURNS ALL OF THE DEALS IN AN ARRAY WHICH I SET TO THE NUMBER OF SECTIONS IN TABLE AND THE HEADER TITLE OF THE SECTION
[active addObject:[item objectForKey:@"users"]];//THIS IS THE PROBLEM.
}
編集2:
だから、これはまだ私に問題を与えています。取引を完全に解析し、各セクションのヘッダーとして表示できます。ユーザーをアクティブという配列にパースすると以下のような配列になります。最初の 4 つは取引「テスト」の一部であり、最後の 4 つは取引「テスト」の一部です。最初の 4 人のユーザーをセクション 0 に設定し、そのセクションに正しい行数を設定して、それらをテーブルビューに正しく表示する方法がわかりません。そして、次のセクションでこれを繰り返します。これは、Y 人のユーザーとの X 件の取引で機能する必要があります。これが理にかなっているといいのですが、助けてください!
(
{
distance = 0;
latitude = "41.312618";
longitude = "-74.195114";
"user_id" = 34;
},
{
distance = 0;
latitude = "41.312618";
longitude = "-74.195114";
"user_id" = 35;
},
{
distance = 0;
latitude = "41.312618";
longitude = "-74.195114";
"user_id" = 36;
},
{
distance = 0;
latitude = "41.312618";
longitude = "-74.195114";
"user_id" = 38;
}
),
(
{
distance = 0;
latitude = "41.312618";
longitude = "-74.195114";
"user_id" = 37;
}
);