[ 
https://issues.apache.org/jira/browse/LANG-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Trần Ngọc Khoa updated LANG-1542:
---------------------------------
    Description: 
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.

 
{code:java}
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); 
    }
}
{code}

  

And {{MyEnum}}:
{code:java}
 public enum MyEnum {
     FOOD,
     SPORT,
     BOOK,
     MUSIC
 }{code}
When I call {{toString()}} of Person object. It shows like this
{code:java}
 {
     "id": 1,
     "name": "Karl",
     "listEnums": [FRIDAY, MONDAY, TUESDAY]
 }{code}

  

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

  

  was:
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"]
}
 


> 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
>            Priority: Major
>
> 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.
>  
> {code:java}
> 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); 
>     }
> }
> {code}
>   
> And {{MyEnum}}:
> {code:java}
>  public enum MyEnum {
>      FOOD,
>      SPORT,
>      BOOK,
>      MUSIC
>  }{code}
> When I call {{toString()}} of Person object. It shows like this
> {code:java}
>  {
>      "id": 1,
>      "name": "Karl",
>      "listEnums": [FRIDAY, MONDAY, TUESDAY]
>  }{code}
>   
> What I expected is:
> {code:java}
>  {
>      "id": 1,
>      "name": "Karl",
>      "listEnums": ["FRIDAY", "MONDAY", "TUESDAY"]
>  }{code}
>   



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

Reply via email to