Я отправляю запрос с AFNetworking для Objective-C. Когда я NSLog параметры, это объект, который я отправляю:Данные JSON перепутаны в AFNetworking POST-запрос
games = (
{
id = 50;
p = 8;
ts = 0;
tt =();
tw = 0;
ys = 35150;
yt = {
156424496 = "37.416669";
156609008 = "56.661210";
....
252846816 = "7.075133";
252856944 = "61.329850";
};
yw = 0;
}, ...
Это то, что получает сервер.
games = (
{id = 50;},
{p = 8;},
{ts = 0;},
{tw = 0;},
{ys = 35150;},
{
yt = {156424496 = "37.416669";};
},
{
yt = {156609008 = "56.661210";};
},
...
{
yt = {252846816 = "7.075133";};
},
{
yt = {252856944 = "61.329850";};
},
{yw = 0;},
...
Как будто он принимает каждое свойство моего объекта и создает с ним новый объект. Хуже то, что он принимает несколько объектов, находящихся в массиве, и помещает все свойства всех объектов и превращает их в отдельный объект на той же глубине массива.
Вот код, я использую, чтобы отправить это от:
NSArray *games = [ResourceManager getAllGames];
NSMutableArray *gamesArray = [[NSMutableArray alloc] initWithCapacity:[games count]];
for(Game *g in games)
{
[gamesArray addObject:[g toDictionary]];
}
User *user = [ResourceManager getUser];
NSDictionary *params = [[NSDictionary alloc] initWithObjectsAndKeys:gamesArray, @"games", user.id, @"user_id", nil];
NSLog(@"PARAMS: %@", params); <- this is the first block of code above
[self postPath:API_SYNC_GAMES_URL parameters:params success:^(AFHTTPRequestOperation *operation, id JSON)
{
}
Я не мог понять, почему это будет происходить, и я все из догадок. Если бы кто-то мог указать мне в правильном направлении, это было бы очень признательно.
UPDATE
Если я оставить single object
, а не массив объектов, которые он приходит на сервер успешно.
Не следует ли разделять запятые пары ключ-значение? – David
Как вы сериализуете свой объект в JSON? –
Это NSArray из NSDictionaries, что я передаю запрос AFNetworking – brenjt