Форум программистов, компьютерный форум CyberForum.ru

NSDictionary и JSON - Objective-C

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
xBios
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 121
29.05.2014, 15:22     NSDictionary и JSON #1
Всем привет!
Имеется Сериализованный JSON в таком формате
JSON
1
2
3
4
5
6
7
8
"total":669,
"restaurants":[
{
"id":1166,
"title":"«Cafe Emporio» / «Эмпорио»",
"introduction":"<p>В переводе с итальянского Emporio означает место пересечения и сосредоточения различных культурных и общественных сфер.</p>",
"image_thumb_125":".../content/restaurant/thumb_125/01/11/11185.jpg"
},
не получается добраться до ссылки на миниатюру
Сериализация:
Objective-C
1
2
3
NSError * error;
        
        NSDictionary * nmd = [NSJSONSerialization JSONObjectWithData:_requestDataBuffer options:0 error:&error];
пробовал разные методы NSDictionary.
Буду рад выслушать любые предложения
Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
29.05.2014, 15:29     NSDictionary и JSON #2
Objective-C
1
2
3
4
5
NSArray *restaurants = nmd[@"restaurants"];
NSDictionary *firstRestaurant = [restaurants firstObject];
NSString *imageThumbKey = @"image_thumb_125";
NSString *firstRestaurantImageUrlString = firstRestaurant[imageThumbKey];
NSArray *allImageUrlStrings = [restaurants valueForKey:imageThumbKey];
xBios
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 121
29.05.2014, 16:34  [ТС]     NSDictionary и JSON #3
No visible @interface for 'NSArray' declares the selector 'firstObject'
В гугле пишут что из - за версии SDK. Как быть? Спасибо
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
29.05.2014, 17:38     NSDictionary и JSON #4
Objective-C
1
2
3
4
NSDictionary *firstRestaurant = nil;
if ([restaurants count] > 0) {
    firstRestaurant = restaurants[0];
}
noname_club
 Аватар для noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 575
30.05.2014, 13:12     NSDictionary и JSON #5
"total":669,
"restaurants":[
{
"id":1166,
"title":"«Cafe Emporio» / «Эмпорио»",
"introduction":"<p>В переводе с итальянского Emporio означает место пересечения и сосредоточения различных культурных и общественных сфер.</p>",
"image_thumb_125":".../content/restaurant/thumb_125/01/11/11185.jpg"
},
Objective-C
1
2
3
NSDictionary * nmd = [NSJSONSerialization JSONObjectWithData:_requestDataBuffer options:0 error:&error];
 
NSLog(@"%@", nmd[@"restaurants"][0][@"image_thumb_125"] );
xBios
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 121
02.06.2014, 13:40  [ТС]     NSDictionary и JSON #6
А как быть в ситуации когда скажем в ключе image_thumb_125 есть подключи? как бы подкатегории.
noname_club
 Аватар для noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 575
02.06.2014, 14:31     NSDictionary и JSON #7
А как быть в ситуации когда скажем в ключе image_thumb_125 есть подключи? как бы подкатегории.
nmd[@"restaurants"][0][@"image_thumb_125"][@"category1"][@"category2"]
xBios
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 121
02.06.2014, 14:35  [ТС]     NSDictionary и JSON #8
А можно ли получить имена подкатегорий программно?
noname_club
 Аватар для noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 575
02.06.2014, 14:39     NSDictionary и JSON #9
А можно ли получить имена подкатегорий программно?
NSDictionary allValues

NSDictionary allKeys
xBios
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 121
02.06.2014, 19:54  [ТС]     NSDictionary и JSON #10
добрый вечер, целый день мучаюсь, ни как ни получается вытащить эти "подключи"
Objective-C
1
2
3
allprice = [restaurants valueForKey:@"pricerange"];
    NSString *itemprice = [allprice objectAtIndex:indexPath.row];
    cell.lblprice.text = itemprice;
так я вытаскиваю обычно, а допустим в pricerange есть еще ключи, соответственно получаю ошибку, а нужно вытащить названия ключей и по очереди записать данные в label, как сделать массив с названиями этих ключей?
Спасибо
noname_club
 Аватар для noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 575
02.06.2014, 21:36     NSDictionary и JSON #11
а нужно вытащить названия ключей и по очереди записать данные в label
Objective-C
1
2
3
4
NSDictionary * JSONDictionary = nmd[@"restaurants"][0];
for (NSString * key in JSONDictionary.allKeys) {
   NSLog(@"key is %@ value is %@", key, JSONDictionary[key]);
}
xBios
1 / 1 / 0
Регистрация: 04.03.2013
Сообщений: 121
02.06.2014, 22:56  [ТС]     NSDictionary и JSON #12
Цитата Сообщение от noname_club Посмотреть сообщение
Код Objective-C
NSDictionary * JSONDictionary = nmd[@"restaurants"][0];
for (NSString * key in JSONDictionary.allKeys) {
* *NSLog(@"key is %@ value is %@", key, JSONDictionary[key]);
}
Немного не то, у ключа restaurants есть ключ cuisines в котором лежат мои данные
на прямую в cuisines он не переходит

у меня получается вот так
JSON
1
2
3
4
5
6
7
8
9
Restaurant» / «Ле Ресторан»
2014-06-02 22:56:53.070 1[2457:11303] | 629
2014-06-02 22:56:53.070 1[2457:11303] | content/restaurant/thumb_125/00/62/6202.jpg
2014-06-02 22:56:53.070 1[2457:11303] | 2000-3000 руб.
2014-06-02 22:56:53.070 1[2457:11303] | г. Москва, ул. 2-я Звенигородская, д. 13, стр. 1
2014-06-02 22:56:53.071 1[2457:11303] | {
    European = "\U0415\U0432\U0440\U043e\U043f\U0435\U0439\U0441\U043a\U0430\U044f";
    french = "\U0424\U0440\U0430\U043d\U0446\U0443\U0437\U0441\U043a\U0430\U044f";
}
а мне нужно взять European, french
и при чем они для каждого ресторана разные
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2014, 23:06     NSDictionary и JSON
Еще ссылки по теме:

Objective-C JSON парсинг из базы в таблицу
Парсинг JSON из локального файла Objective-C
JSON Reader. Как прочитать значение переменной в строке JSON C++/CLI
Как отправить json post запросом и принят json в ответ? Windows Phone
Парсер JSON (возникает ошибка) Objective-C

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
noname_club
 Аватар для noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 575
02.06.2014, 23:06     NSDictionary и JSON #13
все что нужно я вам уже подсказал. Дело за вами.
Yandex
Объявления
02.06.2014, 23:06     NSDictionary и JSON
Ответ Создать тему
Опции темы

Текущее время: 17:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru