Trần Ngọc Khoa created LANG-1542:
------------------------------------

             Summary: ToStringBuilder.reflectionToString - Wrong JSON format 
when object has a List of Enum
                 Key: LANG-1542
                 URL: https://issues.apache.org/jira/browse/LANG-1542
             Project: Commons Lang
          Issue Type: Bug
          Components: lang.*
    Affects Versions: 3.10
         Environment: Open JDK 1.8
            Reporter: Trần Ngọc Khoa


I'm trying to log an object to console with JSON style using 
{{ToStringBuilder.reflectionToString}} from {{commons-lang3:3.10}} but it seems 
generated a wrong JSON format.

Problem happening when I have a list of enums in my field list.

This is the class:
 public class Person \{
    private long id;
    private String name;
    private List<MyEnum> listEnums;

    //getter and setter

    public String toString() {
        return ToStringBuilder.reflectionToString(this, 
ToStringStyle.JSON_STYLE);
    }
}
 

And {{MyEnum}}:
 public enum MyEnum \{
    FOOD,
    SPORT,
    BOOK,
    MUSIC
}
{{}}

When I call {{toString()}} of Person object. It shows like this
 \{
    "id": 1,
    "name": "Karl",
    "listEnums": [FRIDAY, MONDAY, TUESDAY]
}
 

What I expected is:
 \{
    "id": 1,
    "name": "Karl",
    "listEnums": ["FRIDAY", "MONDAY", "TUESDAY"]
}
 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to