[
https://issues.apache.org/jira/browse/LANG-1543?focusedWorklogId=452035&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-452035
]
ASF GitHub Bot logged work on LANG-1543:
----------------------------------------
Author: ASF GitHub Bot
Created on: 28/Jun/20 13:39
Start Date: 28/Jun/20 13:39
Worklog Time Spent: 10m
Work Description: asfgit closed pull request #561:
URL: https://github.com/apache/commons-lang/pull/561
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 452035)
Time Spent: 0.5h (was: 20m)
> [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
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> 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)