我正在使用Perl JSON模块将一些嵌套的Perl对象和数组引用(从解码JSON输入获得)编码为漂亮的JSON输出。
到目前为止,这么好。但是,我有一个我想从参考输入中删除的密钥:
if (defined $originalJSON->{'myObsoleteKey'}) {
undef $originalJSON->{'myObsoleteKey'};
}
看起来这会在我的输出中呈现为null
JSON元素:
{
...
"myObsoleteKey" : null,
...
}
我更愿意完全过滤掉它。我想我可以编写一个awk
脚本或类似的东西来手动执行此操作,但我希望在Perl JSON模块中有更简洁的方法。这可行吗?
答案 0 :(得分:4)
不应将哈希元素设置为undef
,而应将其完全删除。
使用
delete $originalJSON->{myObsoleteKey}
没有必要先检查它是否存在:如果没有这样的元素,那么什么都不会发生。