Я пытаюсь разобрать это JSON:
{
"random number1":
{AT=
{av=-54.697, ct=320206.0, mn=-92.47, mx=0.495},
First_UTC=2020-05-17T14:54:38Z
},
"random number2":
{AT=
{av=-54.6437, ct=3204306.0, mn=-92.47, mx=0.495},
First_UTC=2020-05-17T14:54:43Z
}
}
Я сделал простой класс адаптера для этого
@FromJson
fun fromJson(json: Map<String, Any>): OuterData {
var count = 0
var moshi = Moshi.Builder()
.add(KotlinJsonAdapterFactory())
.build()
var adapter = moshi.adapter<InnerData>(InnerData().javaClass)
json.entries.forEach {
OuterData.innerData[count++] = adapter.fromJson(test)!!
}
}
class InnerData() {
var AT = DataDetail()
var First_UTC = ""
}
Он правильно перебирает каждый случайный number "и все внутренние объекты выглядят правильно, но по какой-то причине я всегда получаю ошибку Use JsonReader.setLenient(true) to accept malformed JSON at path $.
. Похоже, что кавычки по какой-то причине удаляются из JSON, и это может вызвать проблему. Если я использую свой внутренний класс данных напрямую