Форум программистов, компьютерный форум, киберфорум
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69

Получение и разбор JSON

30.07.2014, 02:36. Показов 1599. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно срочно написать , а я object c очень плохо знаю ( мне говорили что он очень похож на с++, но это лож )

Список, элементы которого будут элементы из массива JSON можно получить в
http://dev.tapptic.com/test/ JSON.php
Фон принимающей деятельности, перечень будет линейный градиент
от красного (сверху) на зеленый (среднего) и синего (внизу).
Представление списка будет занимать весь экран и будет прозрачной, чтобы
что фон всегда видна.
Каждая ячейка будет содержать белый вид надписи (имя поля из WS) и
просмотр изображений (изображения поля из WS).
Когда клетка ориентирована (потому что выбирается трекбола или
Dpad), его фон будет серым.
Выбран (или нажал) ячейка будет иметь белый фон с черным текстом.
Нормальная клетка будет иметь прозрачный фон.

Когда пользователь нажимает на ячейку, что запуск второй экран, отображающий:

Деталь часть, содержащая вид прокрутки и кнопки переключения. Прокрутки
вид будет содержать ImageView и TextView.
TextView будет отображать поле "Текст" объекта JSON доступную
athttp :/ / dev.tapptic.com / тест / JSON.php имя? = ххх , где ххх это имя
поле выбранного элемента из списка. Просмотр изображений будет отображаться
"образ" поле того же объекта JSON.
При нажатии на кнопку переключения будет, в соответствии с его состоянием (вкл / выкл),
исчезают в / исчезать из ScrollView.
ScrollView будет иметь черный фон в то время как вид верхнего уровня
группа будет иметь красный фон.
кнопка-переключатель будет позиционироваться в самом низу экрана,
горизонтально по центру и ScrollView будет занимать все доступное пространство
на верхней части кнопки.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.07.2014, 02:36
Ответы с готовыми решениями:

Разбор JSON: исправить ошибки в коде
есть код, но он с ошибками. Помогите исправить ошибки и подскажите пожалуйста как или куда можно вывести результаты ( я думаю что в проекте...

Разбор JSON, используя Newtonsoft.Json
Добрый день! Подскажите пожалуйста, как десериализовать JSON-ответ следующего вида {"result": ...

Разбор JSON
Нужно разобрать json {'name','xxx'} и вывести все имена в массиве, есть у кого подобная реализация? Добавлено через 3 минуты и какой...

8
 Аватар для zulkis
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
30.07.2014, 07:24
good soul, куда устраиваетесь? Что за фирма такая классная?
0
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
30.07.2014, 08:19
А вопрос-то ваш в чем? Или "вот вам задание, сделайте за меня" ?
0
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
30.07.2014, 17:25  [ТС]
объясните хотя бы что такое json и как с ним работать . я так понимаю это какой то тип массива на подобе как List. только ниче толком найти не могу. или не понимаю.
0
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
30.07.2014, 17:31
Цитата Сообщение от zulkis Посмотреть сообщение
good soul, куда устраиваетесь? Что за фирма такая классная?
Я думаю, что устраивается он в компанию tapptic (так как оттуда и надо брать json файл).
good soul, а в чем проблема поискать в интернете что такое JSON ? Также найти как с ним работать в Objective-C я тоже проблем не вижу. Вы показывайте что вы уже попробовали и что у вас не получается, а мы поможем.
0
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
30.07.2014, 21:21  [ТС]
вообщем я нашел одну замечательную книгу ( Аарон Хилегас Object C. Программирование для iOS и MacOS ) в которой нашел такое понятие как списки. Вот код :

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
int main(int argc, const char * argv[])
{
    @autoreleasepool {
        NSMutableArray *stocks = [[NSMutableArray alloc] init];
        NSMutableDictionary *stock;
        stock = [NSMutableDictionary dictionary];
        [stock setObject:@"AAPL"
                  forKey:@"symbol"];
        [stock setObject:[NSNumber numberWithInt:200]
                  forKey:@"shares"];
        [stocks addObject:stock];
        stock = [NSMutableDictionary dictionary];
        [stock setObject:@"GOOG"
                  forKey:@"symbol"];
        [stock setObject:[NSNumber numberWithInt:160]
                  forKey:@"shares"];
        [stocks addObject:stock];
        [stocks writeToFile:@"/tmp/stocks.plist"
                 atomically:YES];
 
        // чтение файла
        NSArray *stockList = [NSArray arrayWithContentsOfFile:@"/tmp/
stocks.plist"];
        for (NSDictionary *d in stockList) {
            NSLog(@"I have %@ shares of %@",
      [d objectForKey:@"shares"], [d objectForKey:@"symbol"]);
}
}
return 0;
}
на сколько я понял - это то что надо.

Результатом данного деяния является файл stocks.plist в котором ( если я не ошибаюсь ) XML код.
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC
  "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/
PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <dict>
        <key>shares</key>
        <integer>200</integer>
        <key>symbol</key>
        <string>AAPL</string>
    </dict>
    <dict>
        <key>shares</key>
        <integer>160</integer>
        <key>symbol</key>
        <string>GOOG</string>
    </dict>
</array>
</plist>
вся эта байда консольная, а у меня как я понял приложение с графикой.

Вопрос заключается в том как реализовать этот список графически ( если я конечно нахожусь на верном пути ).

Спасибо.
0
 Аватар для zulkis
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
31.07.2014, 07:38
good soul, работайте с UITableView
0
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
31.07.2014, 21:45  [ТС]
помогите разобрать код :
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#pragma mark - Table View Controller Methods
 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"LocationCell"];
    
    Location *location = [_locations objectAtIndex:indexPath.row];
    
    UILabel *nameLabel = (UILabel*) [cell viewWithTag:101];
    nameLabel.text = location.title;
    
    NSURL *imageURL = [NSURL URLWithString:location.telephone];
    NSString *key = [location.telephone MD5Hash];
    NSData *data = [FTWCache objectForKey:key];
    if (data) {
        UIImage *image = [UIImage imageWithData:data];
        UIImageView *imgView = (UIImageView*)[cell viewWithTag:100];
        
        imgView.image = image;
    } else {
        UIImageView *imgView = (UIImageView*)[cell viewWithTag:100];
        
        imgView.image = [UIImage imageNamed:@"icon.png"];
        dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
        dispatch_async(queue, ^{
            NSData *data = [NSData dataWithContentsOfURL:imageURL];
            [FTWCache setObject:data forKey:key];
            UIImage *image = [UIImage imageWithData:data];
            dispatch_sync(dispatch_get_main_queue(), ^{
                imgView.image = image;
            });
        });
    }
    
    
    
    return cell;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    
    return [_locations count];
}
Добавлено через 17 минут
я сделал список и в нем ( в каждой ячейке ) картинка и текст. В примере из которого я взял вышеприведенный код : картинка и 2 label, в которых, в 1м текст, а во 2м дата.Я удалил 2й ( на всякий случай говорю, может остались там части ненужного кода ). В примере Json файл ( вот такая фигня кароче http://dev.tapptic.com/test/json.php ) отличается от моей ( которую я вам привел ). Там в начале есть слово Location, по которому, я так понял, начинается считывание. У меня нет никаких слов поэтому в JSONLoader.m вот это поле я оставил так NSArray *array = [jsonDictionary objectForKey:@"( ЗДЕСЬ БЫЛО ТО САМОЕ СЛОВО Location, но я его удалил. Не знаю правильно ли это?????! )"]; // КЛЮЧ К ПОИСКУ ПО ФАЙЛУ JSON. Остальное в файле очень похоже на мой, только там параметров больше ( всякие id и т.д ).

Добавлено через 2 минуты
Я еще не понимаю JSONLoader ( я просто скачал этот файл с того же примера). Он всегда одинаковый или его тоже нужно редактировать под себя? (я плохо понимаю как работать с этим классом)

Добавлено через 9 минут
Каждая ячейка будет содержать белый вид надписи (имя поля из WS) и
просмотр изображений (изображения поля из WS).

вот здесь я не понимаю, можете как то разъяснить другими словами.
0
 Аватар для PiXcell
2 / 2 / 0
Регистрация: 10.03.2014
Сообщений: 43
02.08.2014, 14:43
good soul, так ты б и сказал что не понимаешь, и время надо для вникания.
из твоих коментов понятно что ты не в теме зачем и что в этом коде...
смыл тебе эту работу делать, если потом попросят сделать в разы сложнее?

...надо начинать учиться (с азов)

зы: тоже не понимаю, еще осваиваю язык
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.08.2014, 14:43
Помогаю со студенческими работами здесь

Qt разбор JSON
все не могу разобраться в json, с vk возвращает это: &quot;{&quot;response&quot;:180075}&quot; мне нужно чтобы в лист вернуло информацию. ...

Разбор JSON
Всем доброго времени суток! Столкнулся с проблемой и никак не могу ее решить... Имеется JSON ответ и если с одинаковым параметром...

Разбор JSON
Необходимо сделать разбор файла с JSON, максимальный размер этого файла до 50 кбайт. В файле будет записана конфигурация, которая...

Разбор JSON
Всем привет! Помогите пожалуйста разобрать ответ сервера, мне самому не хватает знаний. Я использую Newtonsoft.Json.dll -...

Разбор json
Есть json объект который может быть получен в программе { &quot;status&quot;: &quot;OK&quot;, &quot;struct&quot;: { &quot;full&quot;: 2, ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru