Пожалуйста, помогите мне получить правильное значение. Мой avro-файл требует байтового значения логического типа decimal в json. Я получаю значение в json:
"value": "java.nio.HeapByteBuffer[pos=0 lim=3 cap=3]"
Это должно быть 123,45.
Это функция, которую я написал:
private def toByte(v: String, s: Schema) = {
if(s.getLogicalType.isInstanceOf[LogicalTypes.Decimal]) {
DecimalConversion.toBytes(new java.math.BigDecimal(v).setScale(s.getLogicalType.asInstanceOf[LogicalTypes.Decimal].getScale),
s,s.getLogicalType)
}
else{
v.toByte
}
if(s.getLogicalType.isInstanceOf[LogicalTypes.Decimal]) {
DecimalConversion.toBytes(new java.math.BigDecimal(v).setScale(s.getLogicalType.asInstanceOf[LogicalTypes.Decimal].getScale),
s,s.getLogicalType)
}
else{
v.toByte
}
}