そのタスクにGSONを使用できます。
Gsonは、JavaオブジェクトをJSON表現に変換するために使用できるJavaライブラリです。JSON文字列を同等のJavaオブジェクトに変換するためにも使用できます。Gsonは、ソースコードがない既存のオブジェクトを含む任意のJavaオブジェクトを処理できます。
より読みやすい表現が必要な場合は、きれいな印刷機能を使用できます。
Gson gson = new GsonBuilder().setPrettyPrinting().create();
あなたの例のようなものを実現するために、最初のステップでコンテンツクラスをシリアル化し、結果の文字列を別のクラスのプロパティとして配置し、それをもう一度シリアル化することができます。
このようにして、GSONはのエスケープを処理し"
ます。
文字列を配列に収集し、上記のきれいな印刷オプションを使用すると、改行要件に似たものが得られますが、まったく同じではありません。
上記のプロセスの結果は、次のようになります。
{
"content": [
"{\"field1\":123, \"field2\":1, \"field3\":0, \"field4\":{\"sub1\":\"abc\", \"sub2\":\"xyz\"}}",
"{\"field1\":234, \"field2\":9, \"field3\":1, \"field4\":{\"sub1\":\"xyz\", \"sub2\":\"abc\"}}"
]
}