У меня есть собственный сериализатор JSON с двумя полями, одной строкой и одним двойным. У меня есть требование, чтобы мой вывод выглядел так:
[
{
"name":"name",
"value":3.0
},
{
"name":"name2",
"value":3.5
}
]
Но сейчас это выглядит так:
[
{
"name":"name",
"value":3
},
{
"name":"name2",
"value":3.5
}
]
Мой код сериализации выглядит так:
gen.writeStringField("name",movie.getName());
gen.writeNumberField("value",movie.getAverageRating()); // double type
Я могу сделать значение поля типом String и использовать что-то вроде:
gen.writeStringField("value",String.format("%.1f", movie.getAverageRating()));
но тогда значение поля "value" будет иметь двойные значения и будет иметь тип String, а не число.
Поэтому мой вопрос: возможно ли вообще выполнить требование, о котором я говорил в начале?