Как создать NSDictionary с несколькими ключами?

Я не уверен, что то, что я собираюсь спросить, на самом деле является NSDictionary с несколькими ключами, но хорошо.

Я хочу создать NSDictionary с ключами и значениями для моих данных, а затем преобразовать их в формат JSON . Формат JSON будет выглядеть примерно так:

 { "eventData": { "eventDate": "Jun 13, 2012 12:00:00 AM", "eventLocation": { "latitude": 43.93838383, "longitude": -3.46 }, "text": "hjhj", "imageData": "raw data", "imageFormat": "JPEG", "expirationTime": 1339538400000 }, "type": "ELDIARIOMONTANES", "title": "accIDENTE" } 

Я использовал только NSDictionaries следующим образом:

 NSArray *keys = [NSArray arrayWithObjects:@"eventDate", @"eventLocation", @"latitude" nil]; NSArray *objects = [NSArray arrayWithObjects:@"object1", @"object2", @"object3", nil]; dictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys]; 

Но в вышеприведенном формате речь идет не только о ключевом значении. Поэтому мой вопрос заключается в том, каким образом должен был NSDictionary быть NSDictionary , чтобы соответствовать формату JSON ? Спасибо, что прочитал мой пост, и извините, если возникли путаницы.

Вы знаете, что у вас может быть NSDictionary внутри другого NSDictonary ?

 NSDictionary *eventLocation = [NSDictionary dictionaryWithObjectsAndKeys:@"43.93838383",@"latitude",@"-3.46",@"latitude", nil]; NSMutableDictionary *eventData = [NSDictionary dictionaryWithObjectsAndKeys:eventLocation,@"eventLocation", nil]; [eventData setObject:@"Jun 13, 2012 12:00:00 AM" forKey:@"eventDate"]; [eventData setObject:@"hjhj" forKey:@"text"]; . . . NSMutableDictionary *finalDictionary = [NSMutableDictionary dictionaryWithObjectsAndKeys:eventData,@"eventData", nil]; [finalDictionary setObject:@"ELDIARIOMONTANES" forKey:@"type"]; [finalDictionary setObject:@"accIDENTE" forKey:@"title"]; 

Теперь с литералами Objective-C существует намного лучший, более простой и понятный способ достижения этого. Вот ваш точный словарь с этим новым синтаксисом:

 NSDictionary *dictionary = @{ @"eventData": @{ @"eventDate": @"Jun 13, 2012 12:00:00 AM", @"eventLocation": @{ @"latitude": @43.93838383, @"longitude": @-3.46 }, @"text": @"hjhj", @"imageData": @"raw data", @"imageFormat": @"JPEG", @"expirationTime": @1339538400000 }, @"type": @"ELDIARIOMONTANES", @"title": @"accIDENTE" }; // Prints: "43.93838383" NSLog(@"%@", dictionary[@"eventData"][@"eventLocation"][@"latitude"]); 

Как создать NSArray и с доступом для объекта с использованием NSDictionary?

… Создать NSArray

 NSArray *studentkeys = [NSArray arrayWithObjects:@"studentName", @"studentBirthDate", @"studentCity", @"studentMobile" nil]; NSArray *objects = [NSArray arrayWithObjects:@"Pravin", @"27/08/1990", @"Bhavnagar",@"7878007531", nil]; 

… для доступа к объекту NSArray с использованием NSDictionary

 NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys]; 

Вот структура:
Ваш корневой объект – это NSMutableDictionary
eventData – ключ для объекта NSMutableDictionary с ключами и объектами:
-> ключевой объект eventDate NSString
-> key eventLocation object NSMutableDictionary с ключами и объектами:
—-> ключевой объект latitude NSNumber
—-> ключевой объект longitude NSNumber
-> ключевой text объект NSString
-> key imageData объект NSString позже преобразован в NSData
-> key imageFormat object NSString
-> ключ expirationTime объект NSNumber
type ключа для объекта NSString
ключ title для объекта NSString

если вы хотите несколько категорий, вы можете следовать этому формату

 NSDictionary *jsonObject = @{ @"data1":@[ @{ @"title":@"A" @"subData" : @[ @{ @"title":@"aa" }] } ] }; 
  • Alamofire 4.0.0: не конвертируется в & Request неоднозначно без дополнительного контекста
  • Swift Dynamic Cast не удалось выполнить NSJSONSerialization
  • Добавление объектов в словарь в цикле перезаписывает предыдущие значения
  • Как перебрать вложенную иерархию NSDictionaries и NSArrays и преобразовать все в изменяемые копии?
  • iOS Новый массив в plist с новым ключом перезаписывает старый массив с другим ключом
  • Как получить значения из словаря в iOS
  • Данные не могут быть прочитаны, потому что они не в правильном формате
  • добавление словарного объекта в UITableViewCell
  • Как получить размер изображения файла изображения в моноточе без его загрузки?
  • __NSCFString objectForKeyedSubscript: exception
  • Слияние словарей - Ошибка несовместимого типа
  • Interesting Posts

    Усечение текста UIlabel

    Отключить хранилище резервных копий на CAShapeLayer или подклассе CALayer, чтобы предотвратить предупреждение об ошибке «фиктивный уровень»

    какие механизмы используются Whatsapp и Viber для общения и обмена сообщениями

    Обработка NSAsserts в бросках Restkit

    UIWebView async запрашивает блокировку прокрутки

    Преобразование кода Objective C в Swift не может корректно обрабатывать байты в Swift

    Что случилось с областью ударов / перехвата касания UIButton?

    Создать CSR в iOS-библиотеке?

    Передняя ориентация камеры AVCaptureSession

    Swift 2 – CoreData – NSManagedObjectContext Не удается вызвать «сохранить» с помощью списка аргументов типа (inout NSError?) »

    Испытательный полет. Добавление внутренних тестеров

    Как изменить высоту UITableView в соответствии с его динамическим контентом?

    Исход из фонограммы iOS при запуске приложения вызывает черный экран

    Мимический подход UIStackView `fill пропорционально 'в версии iOS до 9.0

    Удаление части изображения, которое перекрывается с текстом из UILabel

    Давайте будем гением компьютера.