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

如何从RestAPI响应中仅提取Token字符串?

如何从API返回的JSON中提取仅包含Token的字符串?

现有获取Token的代码

// Prepare JSON content
var content = new StringContent(jsonContent, Encoding.UTF8, "application/json");

HttpResponseMessage response = await client.PostAsync(tokenEndpoint, content);

if (response.IsSuccessStatusCode)
{
    string responseBody = await response.Content.ReadAsStringAsync();
    Console.WriteLine("Token received: " + responseBody);

    return responseBody;
}
else
{
    Console.WriteLine($"Failed to obtain access token (GetAccessToken). Status code: {response.StatusCode}");
    return null;
}

API返回的JSON示例

{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6ImFkbWluIiwibmJmIjoxNzE5MDI0ODM2LCJleHAiOjE3MTkwMjU0MzYsImlhdCI6MTcxOTAyNDgzNn0.USYqigcN_vGa5tfEaOW0u9RvPpWQIOLdyRb05Fc0RII","refreshToken":""}

尝试过的失败代码

//deserialize token
var outObject = JsonConvert.DeserializeObject<dynamic>(responseBody);
return outObject.access.token;

解决方法

方法1:修正dynamic反序列化的取值路径

你之前的错误在于JSON结构里没有access层级,直接通过顶级token字段就能获取目标值:

string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine("Token received: " + responseBody);

// 修正后的dynamic解析
var outObject = JsonConvert.DeserializeObject<dynamic>(responseBody);
return outObject.token;

方法2:使用匿名类反序列化(类型更安全)

如果不想用dynamic,可以通过匿名类匹配JSON结构,避免字段名拼写错误:

string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine("Token received: " + responseBody);

var tokenResult = JsonConvert.DeserializeAnonymousType(responseBody, new { token = "", refreshToken = "" });
return tokenResult.token;

方法3:使用JObject直接解析(Newtonsoft.Json)

通过JObject直接定位字段,适合快速提取单个值:

string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine("Token received: " + responseBody);

var jObject = JObject.Parse(responseBody);
return jObject["token"].ToString();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 05:17:09