いももちのきもち

悪戦苦闘の歴史のメモ

NaNを含むjsonで例外発生を避ける

以前kotlinx.serializationでjsonを組み立てるときに、ごくまれにNaNが入るフィールドがあり、kotlinx.serialization.json.internal.JsonEncodingExceptionが発生していたのでした。

allowSpecialFloatingPointValues = trueを指定すればNaNのままで通せます。

{"value":NaN}

上記のようにNaNが入るjsonは、jsonとしては正しくないものの、JVM界隈ではポピュラーなんだそうです。