java - 在非 Activity 课上使用 Volley 和 Klaxon

标签 java android-studio kotlin android-volley klaxon

我正在尝试创建一个代表数据库中的表的类。

data class MSettings(
var name: String?,
var value: String?,
var Description: String?)

我需要从api获取数据。我正在尝试使用 Volley,但 Volley 需要上下文。我无法访问非 Activity 类中的上下文。所以,我添加了 var context: Context。好的,它正在工作。 我的API返回JSON:“{”name“:“enable”,“value”:“true”,“desc”:“description”}” 现在我想要解析响应 JSON。我正在尝试使用 Klaxon:

Klaxon().parse<MSettings>(response)

但我收到错误:

com.beust.klaxon.KlaxonException: Unable to instantiate MSettings with parameters [name: enable, value: true]

因为我有 MSettings(context,name,value,desc)。 我必须在从 API 获取数据和解析 JSON 之间做出选择吗?

也许您还有其他想法如何完成这一切?

Fragment从Data Class获取数据。数据类从 API 获取数据并返回解析后的 JSON。我不知道。

抱歉我的英语不好。 谢谢建议

最佳答案

您看到错误的原因是您将描述字段命名为 Description,而不是 desc,这是 JSON 响应中使用的名称:

{"name":"enable","value":"true","desc":"description"}" 

因此,只需将字段名称 Description 更改为 desc 或在 Description 之前添加 @Json(name = "desc")像这样的字段:

data class MSettings(
var name: String?,
var value: String?,
@JSON(name = "desc")
var Description: String?)

关于java - 在非 Activity 课上使用 Volley 和 Klaxon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54542610/

相关文章:

android - Android studio 中的 Github "PUT"请求

java - 如何使用 kotlin 在内部存储中创建文件夹和文件

java - 在应用程序发明者或可thunkable或kodular中模拟键盘按键,例如应用程序构建网站

android - 如果滚动离开,RecyclerView.Holder 会丢失有关动画的信息(注意它没有被回收)

java - 异步写入似乎在 Cassandra 中被破坏

java - JProgressBar 太快了

java - Mockito 使用 thenThrow 为 KafkaTemplate.send 抛出异常

java - java中的代码 TextFieldName.setText ("") 是否有任何替代方法来清除文本字段中的文本?

java - 是否可以在 Android-Studio 或 IntelliJ 上使用 SWT?

android-studio - 如何将 IntelliJ(也是 Android Studio)重做快捷方式配置为 CTRL+Y 而不是 CTRL+SHIFT+Z?