[英]Perl Json parsing element numbers
我必須解析一個JSON結構,其中包含一個未知的元素名稱。
通常我會像這樣訪問數據。
my $layer1 = $responselayer->{'data'};
my $layer2 = $layer2->{'123'};
my $layer3 = $layer3->{'Details'};
print $layer3->{'name'};
由於詳細信息編號(123/945/345)是按隨機順序重復的(雖然在這種情況下是唯一的),所以我不知道如何在“詳細信息”級別處理數據。
"data":
{
"123":
{
"Details":
{
"name":"Jake",
"description":"aaa",
}
},
"945":
{
"Details":
{
"name":"Jim",
"description":"bbb",
}
},
"345":
{
"Details":
{
"name":"Bob",
"description":"ccc",
}
}
}
謝謝!
您必須遍歷$layer1
hashref值,
my $layer1 = $responselayer->{'data'};
for my $layer2 (values %$layer1) {
print $layer2->{'Details'}{'name'}, "\n";
}
如果您需要知道什么是對應的鍵,
my $layer1 = $responselayer->{'data'};
for my $key (keys %$layer1) {
my $layer2 = $layer1->{$key};
print $layer2->{'Details'}{'name'}, "\n";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.