我对iPhone编程很陌生,我想做以下事情:
-
从JSON REST Web服务器获取数据
-
使用yajl解析接收到的数据
-
使用核心图绘制一个包含这些数据的图表
所以,1项很好,我使用asihttpRequest,它按预期运行。
第三个几乎是好的(我仍然需要学习如何调整核心情节)。
我的问题是关于第二项。
我使用yajl,因为它似乎是更快的解析器,所以为什么不尝试一下呢:)
下面是从服务器获取数据并分析数据的代码部分:
// Get server data
response_data = [request responseData];
// Parse JSON received
self.arrayFromData = [response_data yajl_JSON];
NSLog(@"Array from data: %@", self.arrayFromData);
实际上,解析工作非常好,nslog输出类似于:
2010-06-14 17:56:35.375测试_-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方法时(这应该适用于字典,不是吗?)它失败了。