我是一個Perl新手,並希望循環JSON數據。
這是我的代碼:Perl JSON解碼和打印鍵從鍵值對
use JSON::XS;
my $jsonxx = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
my $text = decode_json($jsonxx);
foreach my $key(keys %$text) {
print "$key\n";
}
和輸出是:
e
c
a
b
d
但我想給出的鍵值對的順序輸出。
預期輸出:
a
b
c
d
e
任何人都可以請幫助?
這是不可能的。根據定義,JSON對象/ Perl哈希是無序的。不過,你可以對鍵進行排序,這仍然可以讓你得到你想要的。如果你需要一個有序的集合,一個數組就是你想要的。 –
(如果您需要排序的輸出,請按{排序{$ h - > {$ a} <=> $ h - > {$ b}}鍵%$ h){打印「$ _ \ n」} 。排序哈希不可能 – red0ct