You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gary D. Gregory (Jira)" <ji...@apache.org> on 2020/09/04 18:54:00 UTC

[jira] [Updated] (LANG-1542) ToStringBuilder.reflectionToString - Wrong JSON format when object has a List/Array of Enum

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

Gary D. Gregory updated LANG-1542:
----------------------------------
    Affects Version/s: 3.9

> ToStringBuilder.reflectionToString - Wrong JSON format when object has a List/Array 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.9, 3.10
>         Environment: Open JDK 1.8
>            Reporter: Trần Ngọc Khoa
>            Priority: Major
>             Fix For: 3.11
>
>          Time Spent: 3.5h
>  Remaining Estimate: 0h
>
> 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)