Другой вариант, если вы согласны с JSON, - это библиотека GSON от Google.
public String toString() {
return new GsonBuilder().setPrettyPrinting().create().toJson(this);
}
Это сделает отражение для вас. Это создает хороший, легко читаемый файл JSON. Легко читаемый, относительный, неопытные люди могут найти JSON пугающим.
Вы также можете сделать GSONBuilder переменной-членом, если не хотите обновлять ее каждый раз.
Если у вас есть данные, которые не могут быть напечатаны (например, поток), или данные, которые вы просто не хотите печатать, вы можете просто добавить теги @Expose к атрибутам, которые хотите распечатать, и затем использовать следующую строку.
new GsonBuilder()
.setPrettyPrinting()
.excludeFieldsWithoutExposeAnnotation()
.create()
.toJson(this);