Как создать 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 ? Спасибо, что прочитал мой пост, и извините, если возникли путаницы.

5 Solutions collect form web for “Как создать NSDictionary с несколькими ключами?”

Вы знаете, что у вас может быть 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" }] } ] }; 
  • NSDictionary имеет значение none
  • Преобразование NSString в NSDictionary и NSDictionary в NSString
  • Защитные меры для доступа к массивам и словарям
  • Что такое обозначение Big-O для итерации через NSSet и NSDictionary
  • конвертировать NSDictionary в NSString
  • iOS Использование NSDictionary для загрузки данных в разделы и строки
  • Что является ключом к моему NSDictionary
  • Фильтр предикатов NSDictionary для дочерних объектов
  • NSDictionary против пользовательского объекта
  • «Метод мутации, отправленный на неизменяемый объект», несмотря на то, что объект является NSMutableDictionary
  • прокрутите массив словарей, чтобы найти значение
  • Swift 3: Ошибка: тип «Any» не имеет члена подписи
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.