簡體   English   中英

Perl Json解析元素編號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM