Objective-C / iOS: преобразование массива объектов в строку JSON

В настоящее время я экспериментирую с использованием JSON для передачи данных в Интернете. Мне удалось получить строку JSON и преобразовать ее в NSDictionary , но не смог понять, как преобразовать массив или словарь объектов в представление JSON.

Я прочитал несколько сообщений и статей, в которых объясняется, как создать NSDictionary пар ключ / значение, а затем преобразовать его в JSON, который отлично работает для простого массива, но как этого добиться? когда у вас есть массив или словарь объектов.

Так, например, у меня есть массив объектов «contact», который я затем хотел бы преобразовать в строку JSON как таковую:

"contacts":{
    "contact":[
    {
        "id":"1"
        "first_name":"john",
        "last_name":"citizen",
        "phone":"9999 9999"
    }
    {
        "id":"1"
        "first_name":"jane",
        "last_name":"doe",
        "phone":"8888 8888"
    }
    ]
 }

У меня есть NSMutableDictionary , который заполняет список контактные объекты:

    NSMutableDictionary* contactsToBeSynced = [[NSMutableDictionary alloc] init];
    //Populate dictionary with contact objects.
    contactsToBeSynced = self.getNonSynchronisedData;

Затем я пытаюсь преобразовать словарь объектов с помощью метода NSJSONSerialization , но это не удается с ошибкой.

    NSError* error;
    NSString* jsonString;
    NSData* jsonData = [NSJSONSerialization dataWithJSONObject:contactsToBeSynced options:NSJSONWritingPrettyPrinted error:&error];
    jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

Кто-нибудь смог это сделать? Был бы очень признателен за некоторую помощь или указание в правильном направлении. Ваше здоровье.

5
задан Kampai 1 August 2014 в 11:06
поделиться