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

如何将JwtSecurityToken的Payload提取为字符串或字典?

解决方案

1. 遍历Payload的键值对

JwtPayload(即token.Payload的实际类型)本身实现了IDictionary<string, object>接口,无需额外的Items属性,直接通过foreach就能遍历所有键值对:

foreach (var keyValuePair in token.Payload)
{
    string key = keyValuePair.Key;
    object value = keyValuePair.Value;
    // 按需处理键值对
}

如果需要转换成标准Dictionary<string, object>类型,用Linq即可快速实现:

using System.Linq;

var payloadDict = token.Payload.ToDictionary(kvp => kvp.Key, kvp => kvp.Value);

2. 将Payload转换为目标JSON字符串

直接借助序列化工具就能把token.Payload转换成你需要的JSON格式,两种常用实现方式如下:

方式一:使用.NET内置的System.Text.Json

using System.Text.Json;

string payloadJson = JsonSerializer.Serialize(token.Payload);
// 输出结果:{"attributes":{},"ttl":0,"userId":"user1@gmail.com"}

方式二:使用Newtonsoft.Json(Json.NET)

如果项目中已经引用了Newtonsoft.Json包,也可以用它来序列化:

using Newtonsoft.Json;

string payloadJson = JsonConvert.SerializeObject(token.Payload);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 23:05:04