NutzCN Logo
问答 对象转json的时候对象中的枚举类型只会转化枚举的name其它的属性值丢失
发布于 2606天前 作者 yueming158 4841 次浏览 复制 上一个帖子 下一个帖子
标签:

对象转json的时候对象中的枚举类型只会转化枚举的name其它的属性不会带

16 回复
public enum LoanPushStatus {

    STAY_PUSH("1600","待推单"),
    PART_PUSHED("1601","部分推单"),
    PUSHED("1602","推单完成");

    private String code;
    private String description;
}

 String json = Json.toJson(LoanPushStatus.PART_PUSHED);

这里json的值是“PART_PUSHED”

额, 报个issue吧

想起来了, 有这个

package org.nutz.json.meta;

import org.nutz.json.JsonShape;
import org.nutz.json.JsonShape.Type;

@JsonShape(Type.OBJECT)
public enum EnumWithFields {
    
    STAY_PUSH("1600","待推单"),
    PART_PUSHED("1601","部分推单"),
    PUSHED("1602","推单完成");

    private String code;
    private String description;
    
    EnumWithFields(String code, String description) {
        this.code = code;
        this.description = description;
    }
}

加上注解就正常了

nutz核心包里面没有@JsonShape注解,这是其它的包里面的么?

最新版里面的功能

嗯嗯,在1.63里面看到了,期待你们发布新版本。

先用快照版?

这个问题还是有bug, 加了注解之后任然无法正确转换 @wendal

加了什么?代码贴来看看

@JsonShape(Type.OBJECT)
public enum TestEnum {
	Test("name", "value");

	public final String name;
	public final String value;

	TestEnum(String name, String value) {

		this.name = name;
		this.value = value;
	}

还是final字段的问题, 之前在git讨论过.

@wendal 我用的是最新的nutzboot, 貌似没有修复这个问题

额,不加final就可以了吧?

添加回复
请先登陆
回到顶部