С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
good soul
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
1

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

30.07.2014, 02:36. Просмотров 992. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2014, 02:36
Ответы с готовыми решениями:

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

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

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

Разбор json
Есть json объект который может быть получен в программе { "status":...

Qt разбор JSON
все не могу разобраться в json, с vk возвращает это: "{"response":180075}" ...

8
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
30.07.2014, 07:24 2
good soul, куда устраиваетесь? Что за фирма такая классная?
0
glvrzzz
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
30.07.2014, 08:19 3
А вопрос-то ваш в чем? Или "вот вам задание, сделайте за меня" ?
0
good soul
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
30.07.2014, 17:25  [ТС] 4
объясните хотя бы что такое json и как с ним работать . я так понимаю это какой то тип массива на подобе как List. только ниче толком найти не могу. или не понимаю.
0
lexus_ilia
3057 / 717 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
30.07.2014, 17:31 5
Цитата Сообщение от zulkis Посмотреть сообщение
good soul, куда устраиваетесь? Что за фирма такая классная?
Я думаю, что устраивается он в компанию tapptic (так как оттуда и надо брать json файл).
good soul, а в чем проблема поискать в интернете что такое JSON ? Также найти как с ним работать в Objective-C я тоже проблем не вижу. Вы показывайте что вы уже попробовали и что у вас не получается, а мы поможем.
0
good soul
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
30.07.2014, 21:21  [ТС] 6
вообщем я нашел одну замечательную книгу ( Аарон Хилегас 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
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
31.07.2014, 07:38 7
good soul, работайте с UITableView
0
good soul
3 / 3 / 1
Регистрация: 04.02.2014
Сообщений: 69
31.07.2014, 21:45  [ТС] 8
помогите разобрать код :
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 9
good soul, так ты б и сказал что не понимаешь, и время надо для вникания.
из твоих коментов понятно что ты не в теме зачем и что в этом коде...
смыл тебе эту работу делать, если потом попросят сделать в разы сложнее?

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

зы: тоже не понимаю, еще осваиваю язык
0
02.08.2014, 14:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2014, 14:43

Разбор JSON
Всем привет! Помогите пожалуйста разобрать ответ сервера, мне самому не...

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

Разбор JSON
Нужно разобрать json {'name','xxx'} и вывести все имена в массиве, есть у кого...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru