我对 iphone 编程很陌生,我想做以下事情:
- 从 JSON REST Web 服务器获取数据
- 使用 YAJL 解析接收到的数据
- 使用 core-plot 用这些数据绘制图表
所以,第 1 项很好,我使用 ASIHttpRequest 运行,因为预期第 3 项几乎很好(我仍然需要学习如何调整核心图)。
我遇到的问题是关于第二项。我使用 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 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...
能否请你帮忙 ?
非常感谢,卢克
编辑1:碰巧这个对象实际上是一个NSCFDictionary(!),我仍然无法从中获得价值,当我尝试objectFromKey方法时(应该在字典上工作,不?)它失败了。