我正在使用以下代码生成令牌,其中包含简单的 JSON 数据
[HttpPost("Token")]
public IActionResult Token(string userid)
{
if ((!string.IsNullOrEmpty(userid)))
{
var user = webuserprovider.GetWebUser(userid);
// validate for 0 records
if (user.Count() > 0)
{
// if user return 1 row
var claimsdata = new[]
{
new Claim("id",user.First().UserID),
};
var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("secretKey"));
var signInCred = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
var token = new JwtSecurityToken(
users:{ "id": user.First().UserID},
issuer: "mysite.com",
audience: "yoursite.com",
expires: DateTime.Now.AddMinutes(3),
claims: claimsdata,
signingCredentials: signInCred
);
var jwt = new JwtSecurityTokenHandler().WriteToken(token);
return Ok(new {jwt});
// return …Run Code Online (Sandbox Code Playgroud) 嗨,我想从Web服务返回的JSON对象中读取Id:
[{ "ID":11 "用户名": "TEST5"}]
码:
HttpResponseMessage response = null;
using (response = httpClient.PostAsync(url, content).Result)
{
try
{
response.EnsureSuccessStatusCode(); //200 Ok
string responJsonText = response.Content.ReadAsStringAsync().Result;
JObject res = JObject.Parse(responJsonText);
//if ((int)res["id"][0] > 0)
// {
var uid = (int)res["id"][0];
if (uid > 0)
{
return uid;
}
else
{ return 0; }
// }
// else
//{ return 0; }
}
Run Code Online (Sandbox Code Playgroud)
我如何使用C#从Json Response读取Id和用户名?
我收到以下消息的异常:
从JsonReader读取JObject时出错.当前的JsonReader项不是对象:StartArray.路径