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 に答える