【问题标题】:How to Convert A String to Object In Kotlin如何在 Kotlin 中将字符串转换为对象
【发布时间】:2020-05-14 13:29:26
【问题描述】:

我有一个字符串如下:

IngestDataRequestDto(initiatorEmail=sample@sample.com, ingestionDetails=IngestionDetails(selectedColumns={...

我想将其转换为 IngestDataRequestDto.kt 数据类。

我尝试将反序列化与杰克逊一起使用,也尝试使用直接投射,但都不起作用

  try {
      previousValue = SerializationService.deserialize(sample.previousValue, IngestDataRequestDto::class)
    } catch (e: Exception) {
      previousValue = sample.previousValue as IngestDataRequestDto
    }

try 给出杰克逊错误,捕获字符串到对象异常

【问题讨论】:

  • 你能提供更多关于错误的细节吗?

标签: java json kotlin jackson


【解决方案1】:

该字符串似乎是由对某个 IngestDataRequestDto 对象的 toString() 调用生成的,因此它没有正确格式化为 Json 或类似的东西,因此无法使用这些步骤进行反序列化。

对于这个任务,您需要自己实现一个反序列化器,可能使用正则表达式,或者,如果该字符串始终遵循该格式,您可以制作一个模板来提取您需要的信息。

尽管如此,这绝对不是最好的方法,您应该首先搜索生成该字符串的原因,并检查是否有更好的方法来获取该对象的数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-10
    • 2021-01-18
    • 2021-02-03
    • 2018-07-19
    • 2019-07-07
    • 1970-01-01
    相关资源
    最近更新 更多