次のような Json 構造があります。
{
"field1" => "one",
"field2" => "two",
...
}
私は perl Json モジュールを使用しており、返された Json を次のようなクラスに祝福できます。
my $result = bless($json->{output},'MyClass')
ここまでは順調です。これで、MyClass.pm 内にメソッドを作成して、field1、field2 などの値を返すことができるようになりました。つまり、bless を介して、オブジェクトのプロパティを設定するための直接アクセスができるようです。しかし、危険なのは、コードの後半で次のようなこともできることです。
$result->{field1} = "anythingIwant";
...これはあまり良くありません。プライバシーを示すようにプロパティを設定できることは知ってい_field1
ますが、それは私が行うことを妨げません$result->{_field1} = "anythingIwant";
では、この状況を処理するための perl のベスト プラクティス アプローチはありますか? つまり、Json の出力をクラスに bless してデシリアライズできるのは非常に便利ですが、危険にも思えます。私は、bless を引き続き使用できると同時に、クライアント コードが上記の anyIwant シナリオを実行できないようにする、両方の長所を探しています。私はMoose、InsideOutなどを調べましたが、それらのいずれかが法案に適合するのか、それとも単に複雑になるだけなのかはよくわかりません.