Я новичок в программировании для iphone и хочу сделать следующее:
- получить данные с веб-сервера JSON REST
- разобрать полученные данные с помощью YAJL
- Нарисуйте график с этими данными, используя основной сюжет
Итак, 1-й элемент в порядке, я использую ASIHttpRequest, который работает, как и ожидалось, 3-й почти в порядке (мне еще нужно научиться настраивать основной сюжет).
У меня проблема со 2-м пунктом. Я использую YAJL, так как он кажется более быстрым парсером, так почему бы не попробовать :)
Вот часть кода, которая получает данные с сервера и анализирует их:
// Get server data
response_data = [request responseData];
// Parse JSON received
self.arrayFromData = [response_data yajl_JSON];
NSLog(@"Array from data: %@", self.arrayFromData);
На самом деле синтаксический анализ работает довольно хорошо, вывод NSLog выглядит примерно так:
14.06.2010 17:56:35.375 TEST_APP[3733:207] Массив из данных:
{
data = (
{
val = 1317;
date = "2010-06-10T15:50:01+02:00";
},
{
val = 1573;
date = "2010-06-10T16:20:01+02:00";
},
........
{
val = 840;
date = "2010-06-11T14:50:01+02:00";
},
{
val = 1265;
date = "2010-06-11T15:20:01+02:00";
}
);
from = "2010-06-10T15:50:01+02:00";
to = "2010-06-11T15:20:01+02:00";
max = "2590";
}
Согласно объяснениям yajl-objc http://github.com/gabriel/yajl-objc , парсинг возвращает NSArray... Дело в том... я не знаю, как получить из него все значения, так как по мне он больше похож на NSDictionary, чем на NSArray...
Не могли бы вы помочь?
Большое спасибо, Люк
edit1: случается, что этот объект на самом деле является NSCFDictionary (!), Я все еще не могу получить от него значение, когда я пытаюсь использовать метод objectFromKey (который должен работать со словарем, нет?) он терпит неудачу.