下面檢查字段是具有JSON字符串進行解析追加和預先計算的值由在JSON字符串
[{"mnemonic":"SIG1039.CA.01","ID":"203024","portList":null},{"mnemonic":"SIG0315.OR.01","ID":"035066","portList":03}
在上述JSON格式 如果portlist爲空,則
通過追加03和04並將7802加入ID來創建2個值。
即780220302403,780220302404
,或者如果portlist有一個條目只是把它和前面加上7802追加到ID
即780203506603
是下面的代碼正確,我用地圖來實現它,但是不正確 什麼是正確的方法。
use lib '.';
use JSON::PP qw(decode_json);
use File::Find;
use Switch;
use Data::Dumper;
use strict;
open my $my_fh, '<', 'Data.txt' or die $!;
my $data = <$fh_ptoto_wiu>;
my $decoded_data = decode_json $data;
for (@$decoded_data){
my ($value) = map { $_ eq null ? [7802.$_->{ID}.03,7802.$_->{ID}.04] : 7802.$_->{ID}.$_->{portList} } $_->{portList};
push @myarray,$value;
}
你想讓我們告訴你什麼?你已經說過它是適當的。那是什麼意思? – simbabque
你的代碼不會編譯。 Perl中沒有'null'(除非你定義了一個名爲'null'的函數,並沒有向我們展示它)。 – simbabque
@simbabque什麼是正確的方法,哪裏出錯了,有什麼建議? – LearningCpp