我正在尝试从相应的字符串值填充Kotlin数据类。我使用GSON查看了来自Json的:Kotlin数据类,但我试图做的并不是跟踪完全相同的:
fun convertStringToObject(stringValue: String?, clazz: Class<*>): Any? {
return if (stringValue != null) {
try {
val gson = Gson()
gson.fromJson<Any>(stringValue, clazz)
}
catch (exception: Exception) {
// yes, we are swallowing the possible
// java.lang.IllegalStateException
null
}
}
else {
null
}
}
调用此函数并尝试填充以下类:
data class LoggedUser(
@SerializedName("id") val id: Long,
@SerializedName("name") val name: String,
@SerializedName("first_name") val firstName: String,
@SerializedName("last_name") val lastName: String,
@SerializedName("email") val email: String
)
{"nameValuePairs":{"id":"1654488452866661","name":"Bob Smith","email":"bob.smith@test.net","first_name":"Bob","last_name":"Smith"}}
gson.fromJson(stringValue, LoggedUser::class.java)
但没有欢乐。stringValue是gson.toJson(value)生成的东西,其中value是一个JSONObject。
有人知道我的断线是什么吗?
您的JSON字符串实际上有两个JSON对象,即外部值(它有一个名为NameValuePairs
的键)和您实际想要反序列化的值(它是键NameValuePairs
处的值)。您需要深入一级,或者通过保存用户对象的外部包装类,或者通过手动获取键namevaluepairs
处的JsonObject作为字符串,然后将其传递给GSON。如果字符串只是{“id”:“1654488452866661”,“name”:“Bob Smith”,“email”:“bob.smith@test.net”,“first_name”:“bob”,“last_name”:“Smith”}
则反序列化很好。
问题内容: 我有这样的Java POJO类: 我有一个像这样的Kotlin数据类 如何在java变量中提供给诸如注解之类的任何变量? 问题答案: 资料类别: 到JSON: 从JSON:
问题内容: 我正在尝试使用我的Derby数据库数据填充Netbeans GUI-builder jTable。 我在Account.java类中使用以下代码: 理想情况下,我希望能够返回其中包含参数数据和列的tableModel,因为我知道在GUI中执行此方法是一种不好的做法。在线上的所有教程都没有显示如何将数据发送到另一个类,它们只是在GUI类中执行数据库代码。 我有一个错误,它看不到数据和列,
我在Account.java类中使用以下代码: 理想情况下,我希望能够返回包含参数数据和列的tableModel,因为我知道在我的GUI中使用这种方法是不好的做法。所有在线教程都没有显示如何将数据发送到另一个类,它们只是在GUI类中执行数据库代码。 我有一个错误,它无法看到数据和列,因为它们是在我的方法的一个不可访问的部分中声明和使用的。在我完成这些之后,我需要找到一种方法来将它传递给我的GUI类
series(string $value,[ string $categories]) string $value $config = ['path' => './tests']; $fileObject = new \Vtiful\Kernel\Excel($config); $fileObject = $fileObject->fileName('tutorial.xlsx'); $
factory 辅助函数 必须 使用 factory 方法来做数据填充,因为是框架提倡的,并且可以同时为测试代码服务。 运行效率 开发数据填充时,必须 特别注意 php artisan db:seed 的运行效率,否则随着项目的代码量越来越大,db:seed 的运行时间会变得越来越长,有些项目多达几分钟甚至几十分钟。 原则是: Keep it lighting speed. 只有当 db:seed
我有Java POJO课是这样的: 我有一个像这样的Kotlin数据课 如何向的任何变量提供,如Java变量中的注释?