属性序列化为字符串

属性序列化为字符串

当我要对一个Bean进行JSON转换但将一个属性序列化为字符串时,必须使用哪个@JsonXyz注释。

一个例子:
我有一个豆:

public MyBean {
    private double myDouble;
    //getter and setter
}


我想要一个JSON,例如:

{'myDouble':'100.0'}


代替:

{'myDouble':100.0}


因此,值100.0应该用引号引起来。

最佳答案

如果您正在使用Jackson,则可以使用@JsonSerializeToStringSerializer

public MyBean {
    @JsonSerialize(using = ToStringSerializer.class)
    private double myDouble;
    //getter and setter
    //constructors
}


测试它的代码(Jackson版本2.9.8):

MyBean myBean = new MyBean(20.3);

ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(myBean);

System.out.println(json);


输出为:

{"myDouble":"20.3"}

关于java - 将double属性序列化为字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57761093/

10-12 20:16