[ https://issues.apache.org/jira/browse/LANG-1543?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17116511#comment-17116511 ]
Bruno P. Kinoshita commented on LANG-1543: ------------------------------------------ May be related to LANG-1542 I think - https://github.com/apache/commons-lang/pull/530 > [JSON string for maps] ToStringBuilder.reflectionToString doesnt render > nested maps correctly. > ---------------------------------------------------------------------------------------------- > > Key: LANG-1543 > URL: https://issues.apache.org/jira/browse/LANG-1543 > Project: Commons Lang > Issue Type: Bug > Components: lang.* > Affects Versions: 3.10 > Reporter: Swaraj Pal > Priority: Major > > Nested Maps are not converted correctly as JSON using > ToStringBuilder.reflectToString commons-lang3:3.10 . Please find below the > example to reproduce:- > Class: > {code:java} > public class Student { > private String name; > private Map<String, String> education; > //getters and setters... > public String toString() { > return ToStringBuilder.reflectionToString(this, > ToStringStyle.JSON_STYLE); > }} > {code} > > Driver test: > {code:java} > Student p = new Student(); > p.setName("como"); > > Map<String, String> educationMap = new HashMap<String, String>(); > educationMap.put("primary", "school"); > educationMap.put("graduation", "B.S."); > > p.setEducation(educationMap); > > System.out.println(p.toString()); > {code} > The toString() prints > {code:java} > {"education":{graduation=B.S., primary=school},"name":"como"} > {code} > but I expect as JSON it should print as below (with proper key,value pairs as > field names and values) > {code:java} > {"education":{"graduation": "B.S.", "primary":"school"},"name":"como"} > {code} > Suggested fix: > I can create a Pull request for this issue handling Maps appending logic. -- This message was sent by Atlassian Jira (v8.3.4#803005)