JSONをファイルにシリアル化するためにJackson v2.8.2を使用しています。
serialize
カスタムシリアライザーを作成し、必要に応じて JSON 出力をカスタマイズするメソッドを実装しました。
次のようにシリアライザーを呼び出しています。
// myClass is the object I want to serialize
SimpleModule module = new SimpleModule();
module.addSerializer(MyClass.class, new MySerializer());
ObjectMapper mapper = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT);
mapper.registerModule(module);
try
{
mapper.writeValue(new File("json.txt"), myClass);
}
catch (JsonProcessingException e)
{
...
}
JSON ファイルが作成され、コンテンツが適切に表示されます。
ファイルは に従ってフォーマットされていますが、既に実装したDefaultPrettyPrinter
独自の custom を使用したいと考えています。PrettyPrinter
それ、どうやったら出来るの?
私は次のことを試しました:
MyPrettyPrinter myPrettyPrinter = new MyPrettyPrinter();
mapper.writer(myPrettyPrinter);
mapper.writeValue(new File("json.txt"), myClass);
しかし、それは私のカスタムプリンターを呼び出していません。