如何使用 gson 将字段 1 值作为整数变量?

Posted

技术标签:

【中文标题】如何使用 gson 将字段 1 值作为整数变量?【英文标题】:How would I get the field 1 value as a integer varaible with gson? 【发布时间】:2020-08-27 10:14:00 【问题描述】:

我一直在使用 thingspeak,我一直在尝试解析 Json 数据并获取要在文本视图上读取的字段 1,但我无法将其作为变量使用。

这里有一些代码可以帮助你

private fun funButton1() 
        println("Attempting to get JSON data!")
        val url = "https://api.thingspeak.com/channels/1029606/feeds.json?results=1"

        val request = Request.Builder().url(url).build()

        val client = OkHttpClient()
        client.newCall(request).enqueue(object: Callback 
            override fun onResponse(call: Call, response: Response) 
                val body = response.body?.string()
                println(body)

                val gson = GsonBuilder().create()
                val json = gson.fromJson(body, Json::class.java)

这是 kotlin 代码,这是我用于 gson 的类

class Json(val feeds: List<Feed>)
class Feed(val field1: Int)

这是json数据


  "channel": 
    "id": 1029606,
    "name": "LED ",
    "description": "Acts as a medium for the phone and arduino \r\nRules : 1 = LED ON 0 = LED OFF ",
    "latitude": "0.0",
    "longitude": "0.0",
    "field1": "LED STATUS",
    "created_at": "2020-04-01T17:19:03Z",
    "updated_at": "2020-04-01T17:20:39Z",
    "last_entry_id": 25
  ,
  "feeds": [
    
      "created_at": "2020-05-11T02:58:07Z",
      "entry_id": 25,
      "field1": "1"
    
  ]

现在您可以看到字段 1 数据,即 1 是我试图用作变量的东西,但我不确定如何使用。 gson 代码确实会解析它或其他东西(我不确定这里是图像) gson debug showing the value being there 所以有谁知道我怎样才能把它的价值带入代码中,这样我就可以把它用作一个变量,我很困惑,不知道该怎么做。提前致谢。

【问题讨论】:

【参考方案1】:

试试这个

json.feeds[0].field1

【讨论】:

以上是关于如何使用 gson 将字段 1 值作为整数变量?的主要内容,如果未能解决你的问题,请参考以下文章

Gson——如何忽略用@Expose标记的字段

为啥 GSON 使用字段而不是 getter/setter?

如何:在 GraphQL 中增加基于整数的字段的值

GSON没有正确读取值

Gson空值映射问题,当实体类字段不全Gson的映射

Gson @SerializedName注解使用说明