私はiPhoneプログラミングにまったく慣れていないので、次のことをしたいと思っています。
- JSONRESTWebサーバーからデータを取得する
- YAJLを使用して受信データを解析します
- コアプロットを使用して、これらのデータでグラフを描画します
したがって、1番目の項目は問題ありません。3番目の項目はほぼ問題ないように実行されるASIHttpRequestを使用します(コアプロットを調整する方法をまだ学ぶ必要があります)。
私が抱えている問題は、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の出力は次のようになります。
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を返します...問題は...私はそれからすべての値を取得する方法がわかりませんNSArrayというよりはNSDictionaryのように見えます...
手伝ってもらえますか?
どうもありがとう、リュック
edit1:このオブジェクトは実際にはNSCFDictionary(!)であることが起こりますが、それでも値を取得できません。objectFromKeyメソッド(ディクショナリで機能するはずですが、そうではありませんか?)を試してみると失敗します。