JSONオブジェクトをナビゲートする方法を理解するのに本当に苦労しています。私はJSON.pmを使用しており、各「name」パラメーターにアクセスしてその「values」配列の最初のインデックスを格納しようとして、机の上で頭を殴っています。
基本的な構造、配列/ハッシュ参照がどのように機能するか、そして必要な値にアクセスするためにそれらを反復処理する方法を理解するのに苦労しています。誰かが私を正しい方向に向けるのを手伝ってくれるなら...私はこの時点でかなり迷っています/混乱しています。
これは私が使用しているサンプルデータです(Facebookのオープングラフオブジェクト)。
{
"data": [
{
"id": "219127134886593/insights/page_impressions/week",
"name": "page_impressions",
"period": "week",
"values": [
{
"value": 31600,
"end_time": "2013-03-07T08:00:00+0000"
},
{
"value": 31979,
"end_time": "2013-03-08T08:00:00+0000"
},
{
"value": 29517,
"end_time": "2013-03-09T08:00:00+0000"
}
],
"title": "Weekly Total Impressions",
"description": "Weekly The number of impressions seen of any content associated with your Page. (Total Count)"
},
{
"id": "219127134886593/insights/page_impressions_organic/week",
"name": "page_impressions_organic",
"period": "week",
"values": [
{
"value": 23587,
"end_time": "2013-03-07T08:00:00+0000"
},
{
"value": 23858,
"end_time": "2013-03-08T08:00:00+0000"
},
{
"value": 22813,
"end_time": "2013-03-09T08:00:00+0000"
}
],
"title": "Weekly Organic impressions",
"description": "Weekly The number of times your posts were seen in News Feed or ticker or on visits to your Page. These impressions can be by people who have liked your Page and people who haven't. (Total Count)"
},
],
"paging": {
"previous": "https://graph.facebook.com/219127134886593/insights/page_impressions,page_impressions_organic,page_impressions_viral,page_storytellers/week?since=1362383320&until=1362642520",
"next": "https://graph.facebook.com/219127134886593/insights/page_impressions,page_impressions_organic,page_impressions_viral,page_storytellers/week?since=1362901720&until=1363160920"
}
}
そして、これは私がさまざまな要素にアクセスするために取り組んでいるものです:
foreach my $data ( $decoded_json->{data} ) {
foreach my $item ( @$data ) {
$list{ $item->{'name'} } = $item->{'values'};
print "Value 3: @($item->{'values'})[3]\n";
}
}