jon的kotlin klaxon库

时间:2017-10-06 16:49:49

标签: java json kotlin klaxon

我是kotlin的新手,并认为学习的最好方法就是开始使用它(所以问题更多地与语言相关而不是与klaxon库相关)。我试图从klaxon(https://github.com/cbeust/klaxon)的git页面中了解第一个片段。 这是:

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

我不明白为什么在第一种情况下我们会这样做

  

分析器:: class.java

然后调用getResource ... 但是,然后打电话

  

分析器()。分析

在第二种情况下。什么是差异以及它为何如此

P.S抱歉英语不好=)

2 个答案:

答案 0 :(得分:1)

好的,我刚想通了,我们需要:: class.java,因为getResourceAsStream是java.lang.Class函数。并且解析是Parser类的成员函数。

答案 1 :(得分:0)

嗨Yarick我制作了简易版的解析功能。我在这做什么我正在将json api请求响应解析为函数中的字符串,然后创建解析并将其作为JsonObject

返回

注意:使用stringbuilder创建可变字符串。

// 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
        }