You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从myRecord<String>类型的failedRecord中提取choice_value并判断是否为OUT

解决方案

你的failedRecord.record是JSON格式的字符串,并非可直接访问属性的对象,因此需要先解析JSON,再提取choice_value字段进行判断。以下是几种常用实现方式:

方式1:用Gson快速解析(轻量常用)

  1. 先确保项目引入Gson依赖(Gradle示例):
implementation 'com.google.code.gson:gson:2.10.1'
  1. 编写判断逻辑:
import com.google.gson.JsonParser

val failedRecord: myRecord<String> = // 你的实例对象

// 解析JSON字符串为JsonObject
val jsonObj = JsonParser.parseString(failedRecord.record).asJsonObject
// 提取choice_value并做非空判断后比较
val isChoiceOut = jsonObj.get("choice_value")?.asString == "OUT"

if (isChoiceOut) {
    // 执行后续业务逻辑
}

方式2:用Jackson解析(适合Spring生态项目)

如果项目已使用Jackson,可直接用:

import com.fasterxml.jackson.databind.ObjectMapper

val objectMapper = ObjectMapper()
val jsonNode = objectMapper.readTree(failedRecord.record)
val isChoiceOut = jsonNode.get("choice_value")?.asText() == "OUT"

if (isChoiceOut) {
    // 执行后续业务逻辑
}

方式3:自定义数据类(类型安全推荐)

若该JSON结构固定,建议定义对应数据类,避免硬编码字段名:

import com.google.gson.Gson

// 定义与record结构匹配的数据类
data class UserRecord(
    val email: String,
    val source: String,
    val sub_source: String,
    val choice_value: String,
    val create_date: String,
    val is_undeliverable: Boolean
)

// 解析并判断
val gson = Gson()
val recordData = gson.fromJson(failedRecord.record, UserRecord::class.java)
if (recordData.choice_value == "OUT") {
    // 执行后续业务逻辑
}

内容的提问来源于stack exchange,提问作者AnthonyEdwardsStan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 09:45:35