java - 将 double 属性序列化为字符串

标签 java json jackson

当我有一个 bean 需要 json 化但将双属性序列化为字符串时,我必须使用哪个 @JsonXyz 注释。

一个例子: 我有一颗 bean :

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/

相关文章:

java - 如何在Android Studio中使用View Parameter调用方法

java - 如何用两个包实现观察者模式

java - 如何使用 Java 检测同步冲突

javascript - jQuery .html() 的回调函数?

java - 我正在尝试从位于数组中的特定 JSON 对象检索数据,但无法访问 "value"对象中的各个项目

json - 如何在 Angular 中将对象转换为 JSON

java - XSD 导入问题

java - 使用继承的自定义 JsonDeserializer 导致 StackOverflowError

java - 将 postgres 文本数组转换为 java 列表?

java - 在 Spring RestController 中显式将 POJO 转换为 JSON 的最佳方法