0
删除对象我有一个JSON字符串strcutred像这样: [{"ip":"", "comment":""}, {"ip":"", "comment":""}]
如何从一个数组在Perl
我试图找出如何通过识别从IP删除这些对象之一和/或评论键。
最接近到目前为止,我已经得到了是这样的:
my $jsn = decode_json('[{"ip":"1.2.3.4", "comment":"one"}, {"ip":"10.10.10.10","comment":"two"}]');
foreach(@{$jsn}){
if($_->{ip} eq '1.2.3.4'){
print "Found!";
splice @{$jsn}, $_, 1;
}
}
我知道拼接不会在这个例子中工作。如果我能得到对象的索引(理想情况下没有计数器),我想我可以删除正确的对象。
写回到同一阵列工作为好,如果一个人并不需要/想创建一个新的:'@ $ JSN = grep的{...} @ $ JSN;' – stevieb
这正是我在找什么。我知道Perl可以做这样的事情,整洁和单线风格:) –