No. What is more strange is that using an extensio...
# javascript
g
No. What is more strange is that using an extension function works:
Copy code
interface GeoJson{
    val type:String
    val coordinates:Array<*>
}

fun GeoJson.asPoint() = Point(coordinates as Array<Double>)

data class Point(val coordinates:Array<Double>)   

fun main(args: Array<String>) {        
    val json = """{"type":"Point", "coordinates":[1.0, 2.0]}"""    
    val obj = JSON.parse<GeoJson>(json).asPoint()        
    println("${obj.coordinates}")
}