【问题标题】:How can I output a JSON element to Kotlin? [duplicate]如何将 JSON 元素输出到 Kotlin? [复制]
【发布时间】:2020-09-22 01:45:34
【问题描述】:

我有 JSON:

{
   "results":[
      {
         "age":21,
         "source":{
            "apple":"green"
         }
      }
   ],
   "stat":"ok"
}

如何在 Kotlin 中将年龄值分配给 JSON 中的 user_age 变量?还是以 JSON 格式输出年龄值?

【问题讨论】:

  • 请给我一个代码
  • 嗨 Mike,欢迎来到 Stack Overflow,请阅读:Why is “Can someone help me?” not an actual question?。这个问题质量真的很低。语法很差,格式不对,但最重要的是,你没有表现出任何努力去解决你自己的重要问题。这在这里真的很重要。我们喜欢看到人们的研究、尝试、失败的代码等。否则这只会演变成一种不可持续的免费代码编写服务,事实并非如此。请看idownvotedbecau.se/noresearch
  • 这能回答你的问题吗? How to parse JSON in Kotlin?
  • 欢迎来到 Stack Overflow。你到底想问什么?发布您尝试了什么?

标签: android json kotlin apk


【解决方案1】:

假设字符串变量str中的JSON。您可以使用以下代码获取年龄:

    val root = JSONObject(str)
    val array = root.optJSONArray("results")
    val age = array!!.getJSONObject(0).optInt("age",0) //default 0

【讨论】:

    【解决方案2】:

    供日后参考。这就是你在 kotlin 中读取 json 的方式。

    import com.fasterxml.jackson.databind.ObjectMapper
    
    
    fun main() {
        val readValue: Domain = ObjectMapper().readValue(readString, Domain::class.java)
    }
    
    data class Domain(
            val stat: String? = null,
            val results: List<Result>? = null
    )
    
    data class Result(
            var age: Int? = null,
            var source: Source? = null
    )
    
    data class Source(
            var apple: String? = null
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-21
      • 1970-01-01
      • 2013-10-18
      • 2012-01-05
      • 2011-04-28
      相关资源
      最近更新 更多