0

我正在使用Perl JSON模块将一些嵌套的 Perl 对象和数组引用(通过解码 JSON 输入获得)编码为打印精美的 JSON 输出。

到目前为止,一切都很好。但是,我有一个要从参考输入中删除的键:

if (defined $originalJSON->{'myObsoleteKey'}) {
    undef $originalJSON->{'myObsoleteKey'};
}

看起来这null在我的输出中呈现为 JSON 元素:

{
    ...
    "myObsoleteKey" : null, 
    ...
}

我宁愿完全过滤掉它。我想我可以编写一个awk脚本或类似的东西来手动执行此操作,但我希望在 Perl JSON 模块中有一种更简洁的方法来执行此操作。这是可行的吗?

4

1 回答 1

4

而不是将哈希元素设置为undef您应该完全删除它。

利用

delete $originalJSON->{myObsoleteKey}

不需要先检查它是否存在:如果没有这样的元素,那么什么都不会发生。

于 2013-01-08T23:32:04.583 回答