Biblioteca kotlin klaxon para json

Soy nuevo en kotlin y decidí que la mejor forma de aprender algo es comenzar a usarlo (entonces, la pregunta se relaciona más con el lenguaje que con la biblioteca de klaxon). Intento entender el primer fragment de la página de git de klaxon ( https://github.com/cbeust/klaxon ). Aquí está:

fun parse(name: String) : Any? { val cls = Parser::class.java return cls.getResourceAsStream(name)?.let { inputStream -> return Parser().parse(inputStream) } } 

No entiendo por qué en el primer caso lo hacemos

Parser :: class.java

y luego llamar a getResource … Pero solo llame

Parser (). Análisis

en el segundo caso. ¿Cuál es la diferencia y por qué es así?

PD: lo siento por el mal inglés =)

Hola Yarick, hice una versión fácil de la function de análisis. Qué estoy haciendo aquí. Estoy parsing json api request response como string en la function y luego creo el análisis y lo devuelvo como JsonObject

Nota: Use stringbuilder para crear una cadena mutable.

 // Json Parsing Object fun parse(name: String): JsonObject { val parser = Parser() val stringBuilder: StringBuilder = StringBuilder(name) val json: JsonObject = parser.parse(stringBuilder) as JsonObject return json } 

De acuerdo, lo descubrí, necesitamos :: class.java porque getResourceAsStream es la function java.lang.Class. Y el análisis es una function miembro de la class Parser.

  • Anima la vista escalando a la altura completa de la pantalla desde su position
  • ejecutar el proyecto android studio 2.3.3 kotlin en android studio 3.0.1 después de la actualización
  • Kotlin en Android: asigna un cursor a una list
  • Kotlin - Subclass RecyclerView.ViewHolder: no se puede acceder a una propiedad adicional
  • Objetos de generación Kotlin Jackson de JSON
  • El depurador Java seleccionado actualmente no admite puntos de interrupción de tipo 'Kotlin Line Breakpoints'
  • ¿Es posible anular Java getter (método) con Kotlin val (propiedad)?
  • No se puede iniciar el animador en una vista separada
  • Cómo manejar la intención con Kotlin y el conductor
  • Robolectric addResolveInfoForIntent no funciona
  • ¿Cómo build buffers de protocolo de Google y Kotlin usando Gradle?