Формат JSON и цель-c

Моему приложению необходимо отправить полезную нагрузку JSON на сервер, а сервер хочет получить следующий формат:

{
"recipient_emails" :["test@xyz.net", "user@xyz.com"]
}

Все, что я могу создать, это следующий формат:

{
    "recipient_emails" = ("test@xyz.net", "user@xyz.com");
}

То, что я отправляю, не работает, и я не могу сказать, является ли это проблемой сервера с нашим почтовым сервером stmp или форматом JSON, который я отправляю.

Вот как я создаю JSON:

    //Grab the data (from NSManagedObject)
    NSString *emailData = [[NSString alloc] initWithData:self.submissionRecipients encoding:NSUTF8StringEncoding];

    //Extract all the separate email address
    NSArray *emails = [emailData componentsSeparatedByString:@","];

    //If there are some there (which should always be)
    if (emails) {
        NSError *error;

        //Add the array to an NSDictionary with key and convert to JSON
        NSData *jsonData = [NSJSONSerialization dataWithJSONObject:[NSDictionary dictionaryWithObject:emails forKey:@"recipient_emails"] options:0 error:&error];

        //Add json to HTTPRequest
        [theRequest setHTTPBody:jsonData];

        //Print out for debug purposes
        NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:nil];
        NSLog(@"%@", dic);
    }

1 ответ

Решение

Описание NSArray использует круглые скобки - не волнуйтесь, если вы используете NSJSONSerializationсгенерированный JSON будет правильно содержать квадратные скобки.

Другие вопросы по тегам