File tree Expand file tree Collapse file tree 2 files changed +17
-4
lines changed
strada/src/main/kotlin/dev/hotwire/strada Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Original file line number Diff line number Diff line change 11package dev.hotwire.strada
22
3+ import kotlinx.serialization.ExperimentalSerializationApi
34import kotlinx.serialization.decodeFromString
45import kotlinx.serialization.encodeToString
56import kotlinx.serialization.json.Json
@@ -27,4 +28,10 @@ internal inline fun <reified T> String.decode(): T? = try {
2728 null
2829}
2930
30- private val json = Json { ignoreUnknownKeys = true }
31+ @OptIn(ExperimentalSerializationApi ::class )
32+ private val json = Json {
33+ ignoreUnknownKeys = true
34+ encodeDefaults = true
35+ explicitNulls = false
36+ isLenient = true
37+ }
Original file line number Diff line number Diff line change 11package dev.hotwire.strada
22
3+ import kotlinx.serialization.ExperimentalSerializationApi
34import kotlinx.serialization.decodeFromString
45import kotlinx.serialization.encodeToString
56import kotlinx.serialization.json.Json
6- import java.lang.Exception
77
88abstract class StradaJsonConverter {
99 companion object {
@@ -42,12 +42,18 @@ abstract class StradaJsonTypeConverter : StradaJsonConverter() {
4242}
4343
4444class KotlinXJsonConverter : StradaJsonConverter () {
45- val json = Json { ignoreUnknownKeys = true }
45+ @OptIn(ExperimentalSerializationApi ::class )
46+ val json = Json {
47+ ignoreUnknownKeys = true
48+ encodeDefaults = true
49+ explicitNulls = false
50+ isLenient = true
51+ }
4652
4753 inline fun <reified T > toObject (jsonData : String ): T ? {
4854 return try {
4955 json.decodeFromString(jsonData)
50- } catch (e: Exception ) {
56+ } catch (e: Exception ) {
5157 logException(e)
5258 null
5359 }
You can’t perform that action at this time.
0 commit comments