C# 将JToken转换为JObject
我试图在.Net Core中创建一个OAuth处理程序,我使用的api将用户数据响应包装在一个名为data的属性中,但是OAuthTicket上下文需要一个JObject而不是JTokenC# 将JToken转换为JObject,c#,json,oauth,.net-core,C#,Json,Oauth,.net Core,我试图在.Net Core中创建一个OAuth处理程序,我使用的api将用户数据响应包装在一个名为data的属性中,但是OAuthTicket上下文需要一个JObject而不是JToken var payload = JObject.Parse(await response.Content.ReadAsStringAsync())["data"]; var context = new OAuthCreatingTicketContext(new ClaimsPrincipal(i
var payload = JObject.Parse(await response.Content.ReadAsStringAsync())["data"];
var context = new OAuthCreatingTicketContext(new ClaimsPrincipal(identity),
properties, Context, Scheme, Options, Backchannel, tokens, payload);
context.RunClaimActions();
如何将JToken转换为JObject?
JObject
是JToken
的子类,因此如果payload
实际上是一个JObject
,您可以强制转换它。看见但是我们需要查看JSON以确保它能正常工作。@dbc继承链不是如下所示的吗?JObject->JContainer->JToken。对我来说,将基类转换为它的超级MM有点奇怪,似乎JContainer和JToken是抽象的。ThanksClose作为then的副本,或者添加一个答案?@dbc该链接回答了问题,问题有点不同,但我不希望拆分选票,让我们以副本的形式结束,因此如果有人到了这里,它将链接到你的答案