C# 将JToken转换为JObject

C# 将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

我试图在.Net Core中创建一个OAuth处理程序,我使用的api将用户数据响应包装在一个名为data的属性中,但是OAuthTicket上下文需要一个JObject而不是JToken

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该链接回答了问题,问题有点不同,但我不希望拆分选票,让我们以副本的形式结束,因此如果有人到了这里,它将链接到你的答案