I am writing a Kotlin multiplatform project (JVM/JS) and I am trying to parse a HTTP Json array response into a Map using Kotlinx.serialization
The JSON is something like this:
[{"someKey": "someValue"}, {"otherKey": "otherValue"}, {"anotherKey": "randomText"}]
So far, I am able to get that JSON as String, but I can't find any documentation to help me build a Map or another kind of object. All of it says how to serialize static objects.
I can't use @SerialName
because the key is not fixed.
When I try to return a Map<String, String>
, I get this error:
Can't locate argument-less serializer for class kotlin.collections.Map. For generic classes, such as lists, please provide serializer explicitly.
At the end, I would like to get either a Map<String, String>
or a List<MyObject>
where my object could be MyObject(val id: String, val value: String)
Is there a way to do that? Otherwise I am thinking in just writing a String reader to be able to parse my data.
{"someKey": "someValue", "otherKey": "otherValue"}
it is a better data structure to use – SynergisticList<Map<String,String>>
as an internal step in your client, and from there make it one of your desired types. – CottarCan't locate argument-less serializer for
but now for List. – Sitka