パスワードフィールドの値をXXX
に置き換えるには、どうすればGsonでオブジェクトを逆シリアル化することができますか?私はこの投稿を見つけた:Gson: How to exclude specific fields from Serialization without annotationsは、基本的にフィールドをスキップします。これはオプションになりますが、私はまだ私もこれを試してみましたXXX
java gsonシリアライズ中にパスワード値を置き換えます
で値を置き換えることを好むだろう:
GsonBuilder builder = new GsonBuilder().setPrettyPrinting();
builder.registerTypeAdapter(String.class, new JsonSerializer<String>(){
@Override public JsonElement serialize(String value, Type arg1, JsonSerializationContext arg2){
// could not find a way to determine the field name
return new JsonPrimitive(value);
}
});
残念ながら、私は、フィールドの名前を決定することができませんでした。他の選択肢はありますか?
私はGsonを使っていくつかのオブジェクトを「きれいな」方法でログしていますので、ログを読んでいる間に書式を気にする必要はありません。
は、Javaを変換しながら、パスワードをマスクしますJSONへのオブジェクト。またはその逆? – Nishant
シリアライズ時にパスワードを隠したいと思う可能性が高いのは、そのときにパスワードが漏洩する可能性があるからです。 –
ちょっと@Nishant、はい、私は方向java => json(文字列)の情報をログに記録できるパスワードをマスクしたいと思います。ありがとうございました。コン – kon