@@ -16,6 +16,8 @@ import kotlinx.serialization.json.buildJsonObject
16
16
import kotlinx.serialization.json.decodeFromStream
17
17
import kotlinx.serialization.json.double
18
18
import kotlinx.serialization.json.doubleOrNull
19
+ import kotlinx.serialization.json.float
20
+ import kotlinx.serialization.json.floatOrNull
19
21
import kotlinx.serialization.json.int
20
22
import kotlinx.serialization.json.intOrNull
21
23
import kotlinx.serialization.json.jsonArray
@@ -465,7 +467,7 @@ internal fun fromJsonListAnyColumns(
465
467
v.intOrNull != null -> collector.add(v.int)
466
468
v.longOrNull != null -> collector.add(v.long)
467
469
v.doubleOrNull != null -> collector.add(v.double)
468
- // v.floatOrNull != null -> collector.add(v.float)
470
+ v.floatOrNull != null -> collector.add(v.float)
469
471
v.jsonPrimitive is JsonNull -> collector.add(null )
470
472
}
471
473
}
@@ -779,8 +781,8 @@ internal fun fromJsonListArrayAndValueColumns(
779
781
v.booleanOrNull != null -> collector.add(v.boolean)
780
782
v.intOrNull != null -> collector.add(v.int)
781
783
v.longOrNull != null -> collector.add(v.long)
782
- // v.floatOrNull != null -> collector.add(v.float)
783
784
v.doubleOrNull != null -> collector.add(v.double)
785
+ v.floatOrNull != null -> collector.add(v.float)
784
786
v is JsonNull -> collector.add(null )
785
787
else -> collector.add(v)
786
788
}
@@ -903,10 +905,6 @@ private val valueTypes =
903
905
@OptIn(ExperimentalSerializationApi ::class )
904
906
private fun convert (value : Any? ): JsonElement = when (value) {
905
907
is JsonElement -> value
906
- is Double -> JsonPrimitive (value)
907
- is Float -> JsonPrimitive (value.toDouble()) // It is necessary
908
- // because kotlinx-serialization accurately handles Float -> Float,
909
- // unlike klaxon.
910
908
is Number -> JsonPrimitive (value)
911
909
is String -> JsonPrimitive (value)
912
910
is Char -> JsonPrimitive (value.toString())
0 commit comments