klaxon icon indicating copy to clipboard operation
klaxon copied to clipboard

Cannot parse array of Long

Open papagno opened this issue 5 years ago • 0 comments

I'm using version 5.2. No problem with Lists but I need Arrays.

Test code to reproduce the error:

data class TestModel(val ids: Array<Long>)

@Test
fun arrayOfLongs()  {
    val json = "{\"ids\":[1,2,3]}"
    val klaxon = Klaxon()

    val testModel = klaxon.parse<TestModel>(json)

    assertEquals(3, testModel?.ids?.size)
}

Stacktrace:

array element type mismatch
java.lang.IllegalArgumentException: array element type mismatch
	at java.lang.reflect.Array.set(Native Method)
	at com.beust.klaxon.DefaultConverter.fromCollection(DefaultConverter.kt:154)
	at com.beust.klaxon.DefaultConverter.fromJson(DefaultConverter.kt:35)
	at com.beust.klaxon.JsonObjectConverter.retrieveKeyValues(JsonObjectConverter.kt:207)
	at com.beust.klaxon.JsonObjectConverter.initIntoUserClass(JsonObjectConverter.kt:67)
	at com.beust.klaxon.JsonObjectConverter.fromJson(JsonObjectConverter.kt:32)
	at com.beust.klaxon.DefaultConverter.fromJsonObject(DefaultConverter.kt:214)
	at com.beust.klaxon.DefaultConverter.fromJson(DefaultConverter.kt:36)
	at com.beust.klaxon.Klaxon.fromJsonObject(Klaxon.kt:296)

papagno avatar Feb 22 '20 15:02 papagno