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

Kotlin中如何从解码后的JWT获取嵌套JsonObject及hasura下的id

解决JWT解码无法获取嵌套JsonObject的问题
  • 先确认你的数据类定义是否和JWT payload结构完全匹配,这是asObject返回null的常见原因。针对你的payload,Kotlin数据类要这么写:
data class UserMetadata(
    val hasura: Hasura
)

data class Hasura(
    val id: String
)
  • 若数据类没问题,检查JWT payload是否完整,排除编码或传输过程中出现的截断、格式错误。

  • 也可以绕过对象映射,直接解析成Map逐层取值:

val userMetadataClaim = jwt.getClaim("user_metadata")
val userMetadataMap = userMetadataClaim.asMap() ?: emptyMap()
val hasuraMap = userMetadataMap["hasura"] as? Map<*, *> ?: emptyMap()
val hasuraId = hasuraMap["id"] as? String

内容的提问来源于stack exchange,提问作者Tarık

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 05:10:19