下面检查字段是具有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