SnakeYaml不序列化私有字段或受保护的字段

时间:2019-03-08 21:04:13

标签: java snakeyaml

我正在尝试使用SnakeYaml转储/序列化Java POJO,并且私有和受保护的字段没有被序列化。

public class Dice {
    private Integer a;
    protected Integer b;
    public Integer c;

    public Dice(Integer a, Integer b, Integer c) {
        this.a = a;
        this.b = b;
        this.c = c;
    }

    public Integer getA() {
        return a;
    }

    public Integer getB() {
        return b;
    }

    public Integer getC() {
        return c;
    }

    public static void main(String[] args) {
            Dice dice = new Dice(1,2,3);
            Yaml yaml = new Yaml();
            String output = yaml.dump(dice);
            System.out.println(output);
    }
}

产生以下内容:

!!com.ibm.watson.pml.gpm.plan.Dice {c: 3}

我看过很多例子,这些例子显示了私有字段和受保护字段已正确序列化。我尝试过1.17和1.23,结果相同。

1 个答案:

答案 0 :(得分:0)

Yaml.setBeanAccess(BeanAccess.FIELD);