Hii all, 
I have this java class with 3 enum inner class. I am trying to convert my 
JSON string into this JAVA class. But for this class I always get null as 
an output. I have tried many different approaches including a customized 
deserialize class but I still cant figure out what I am doing wrong. can 
someone help me with this?
I use the following code to convert the Json string into the Java POJO:

ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        mapper.enable(READ_ENUMS_USING_TO_STRING);
        CubeItem parameters = mapper.convertValue(ObjJSON, CubeItem.class);



import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonValue;
import io.swagger.annotations.ApiModelProperty;

import java.util.Objects;

/**
 * CubeItem
 */
public class CubeItem {
    /**
     * Gets or Sets upperCubeHalf
     */
    public enum UpperCubeHalfEnum {
        BLACK("BLACK"),

        WHITE("WHITE"),

        TRANSPARENT("TRANSPARENT");

        private String value;

        UpperCubeHalfEnum(String value) {
            this.value = value;
        }

        @Override
        @JsonValue
        public String toString() {
            return String.valueOf(value);
        }

        @JsonCreator
        public static UpperCubeHalfEnum fromValue(String text) {
            for (UpperCubeHalfEnum b : UpperCubeHalfEnum.values()) {
                if (String.valueOf(b.value).equals(text)) {
                    return b;
                }
            }
            return null;
        }
    }
    public CubeItem(){}

    public CubeItem(UpperCubeHalfEnum upperCubeHalf, LowerCubeHalfEnum 
lowerCubeHalf, InlayEnum inlay) {
        this.upperCubeHalf = upperCubeHalf;
        this.lowerCubeHalf = lowerCubeHalf;
        this.inlay = inlay;
    }

    @JsonProperty("UpperCubeHalf")
    private UpperCubeHalfEnum upperCubeHalf = null;

    /**
     * Gets or Sets lowerCubeHalf
     */
    public enum LowerCubeHalfEnum {
        BLACK("BLACK"),

        WHITE("WHITE");

        private String value;

        LowerCubeHalfEnum(String value) {
            this.value = value;
        }

        @Override
        @JsonValue
        public String toString() {
            return String.valueOf(value);
        }

        @JsonCreator
        public static LowerCubeHalfEnum fromValue(String text) {
            for (LowerCubeHalfEnum b : LowerCubeHalfEnum.values()) {
                if (String.valueOf(b.value).equals(text)) {
                    return b;
                }
            }
            return null;
        }
    }

    @JsonProperty("LowerCubeHalf")
    private LowerCubeHalfEnum lowerCubeHalf = null;

    /**
     * Gets or Sets inlay
     */
    public enum InlayEnum {
        RED("RED"),

        WHITE("WHITE"),

        BLUE("BLUE");

        private String value;

        InlayEnum(String value) {
            this.value = value;
        }

        @Override
        @JsonValue
        public String toString() {
            return String.valueOf(value);
        }

        @JsonCreator
        public static InlayEnum fromValue(String text) {
            for (InlayEnum b : InlayEnum.values()) {
                if (String.valueOf(b.value).equals(text)) {
                    return b;
                }
            }
            return null;
        }
    }

    @JsonProperty("Inlay")
    private InlayEnum inlay = null;

    public CubeItem upperCubeHalf(UpperCubeHalfEnum upperCubeHalf) {
        this.upperCubeHalf = upperCubeHalf;
        return this;
    }

    /**
     * Get upperCubeHalf
     * @return upperCubeHalf
     **/

    @ApiModelProperty(value = "")
    public UpperCubeHalfEnum getUpperCubeHalf() {
        return upperCubeHalf;
    }

    public void setUpperCubeHalf(UpperCubeHalfEnum upperCubeHalf) {
        this.upperCubeHalf = upperCubeHalf;
    }

    public CubeItem lowerCubeHalf(LowerCubeHalfEnum lowerCubeHalf) {
        this.lowerCubeHalf = lowerCubeHalf;
        return this;
    }

    /**
     * Get lowerCubeHalf
     * @return lowerCubeHalf
     **/

    @ApiModelProperty(value = "")
    public LowerCubeHalfEnum getLowerCubeHalf() {
        return lowerCubeHalf;
    }

    public void setLowerCubeHalf(LowerCubeHalfEnum lowerCubeHalf) {
        this.lowerCubeHalf = lowerCubeHalf;
    }

    public CubeItem inlay(InlayEnum inlay) {
        this.inlay = inlay;
        return this;
    }

    /**
     * Get inlay
     * @return inlay
     **/

    @ApiModelProperty(value = "")
    public InlayEnum getInlay() {
        return inlay;
    }

    public void setInlay(InlayEnum inlay) {
        this.inlay = inlay;
    }


    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        CubeItem cubeItem = (CubeItem) o;
        return Objects.equals(this.upperCubeHalf, cubeItem.upperCubeHalf) &&
                Objects.equals(this.lowerCubeHalf, cubeItem.lowerCubeHalf) &&
                Objects.equals(this.inlay, cubeItem.inlay);
    }

    @Override
    public int hashCode() {
        return Objects.hash(upperCubeHalf, lowerCubeHalf, inlay);
    }


    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("class CubeItem {\n");

        sb.append("    upperCubeHalf: 
").append(toIndentedString(upperCubeHalf)).append("\n");
        sb.append("    lowerCubeHalf: 
").append(toIndentedString(lowerCubeHalf)).append("\n");
        sb.append("    inlay: ").append(toIndentedString(inlay)).append("\n");
        sb.append("}");
        return sb.toString();
    }

    /**
     * Convert the given object to string with each line indented by 4 spaces
     * (except the first line).
     */
    private String toIndentedString(Object o) {
        if (o == null) {
            return "null";
        }
        return o.toString().replace("\n", "\n    ");
    }
}



-- 
You received this message because you are subscribed to the Google Groups 
"jackson-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to