【问题标题】:kotlin klaxon library for json用于 json 的 kotlin klaxon 库
【发布时间】:2017-10-06 16:49:49
【问题描述】:

我是 kotlin 的新手,并决定学习某些东西的最佳方法是开始使用它(所以问题与语言有关,而不是与 klaxon 库有关)。我试图从 klaxon (https://github.com/cbeust/klaxon) 的 git 页面了解第一个 sn-p。 这里是:

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

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

解析器::class.java

然后调用 getResource... 但是然后只需调用

Parser().parse

在第二种情况下。有什么区别,为什么会这样

P.S 抱歉英语不好=)

【问题讨论】:

标签: java json kotlin klaxon


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    嗨 Yarick,我制作了 parse 函数的简单版本。我在这里做什么。我将 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
            }
    

    【讨论】:

      猜你喜欢
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      • 2021-06-28
      • 2018-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多