[alibaba/fastjson]Object中包含Map,序列化后反序列化,只序列化了部分。

2025-11-24 279 views
9
public class RunParams implements Serializable{

    private static final long serialVersionUID = 1415784566744392853L;

    public static final String PARAM_FILE = "runparam.json";

    private Map<String, List<ParamEntry>> params;

    public RunParams() {
        params = new HashMap<>();
    }

    public Map<String, List<ParamEntry>> getParams() {
        return params;
    }

    public void setParams(Map<String, List<ParamEntry>> params) {
        this.params = params;
    }
}

public class ParamEntry implements Serializable{

    private static final long serialVersionUID = 6592166907730539963L;

    private String varName;

    private String value;

    private String desc;

    private String attribute;

    private String resName;
}

序列化后反序列化,params中key有值,value对应的List,ParamEntry字段全部为空值。

回答

0

1、使用的序列化和反序列化方法代码发出来 2、测试数据发出来,

最好能用这两个做个testcase,谢谢

7

因为ParamEntry的字段都是Private的

0

所以目前bean中的字段只能是public的才行吗?

2

试了下,bean 中的基本类型、String、枚举是可以在 private 修饰下序列化和反序列化的,但是 Map 只有 public 修饰才可以