-lang3 müşterekleri kullanarak sahip Nasıl:RecursiveToStringStyle ve JSON_STYLE ben bağımlılığı kullanıyorum
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
Aşağıdaki nesneler vardır:
public Class X {
private String a;
private String b;
private Y y;
}
public Class Y {
private String c;
private String d;
}
Ve derse X içeriğini giriş yapmanız Y'yi de almak ve JSON stilini kullanarak yinelemeli olarak. Bu benim amacım ve bu sorunun amacı.
Yaklaşım 1:
ToStringStyle style = ToStringStyle.JSON_STYLE;
LOGGER.debug(ReflectionToStringBuilder.toString(new X(), style, false, false));
Yaklaşım 1 sonuç:
{"a":"<a>","b":"<b>","y": com.<packages>[email protected]<hash>}
yaklaşım 2:
RecursiveToStringStyle style = new RecursiveToStringStyle();
LOGGER.debug(ReflectionToStringBuilder.toString(new X(), style, false, false));
yaklaşım 2 sonuç:
[com.<packages>[email protected]<hash>[a=<a>,b=<b>,y=com.<packages>[email protected]<hash>[c=<c>,d=<d>]]
Başarılı Yaklaşım:
`Merge of Approach 1 and Approach 2` but how to achieve this?
Başarılı Yaklaşım sonucu (Amacım):
{"a":"<a>","b":"<b>","y":{"c":"<c>","d":"<d>"}}
Dosya gönderebileceğiniz bir özellik isteği gibi geliyor ... Mevcut MultilineRecursiveToStringStyle'ye benzer bir RecursiveToStringStyle alt sınıfı olarak uygulanabilir. – Thilo
Evet, bu yaklaşımı zaten denedim. Ama bence hedefe ulaşmak için daha iyi bir yol olmalı. Belki başka bir bağımlılık kullanıyor? – Leonel