C# JSON反序列化的格式不正确

C# JSON反序列化的格式不正确,c#,json,json.net,restsharp,C#,Json,Json.net,Restsharp,在这件事上我完全不懂。在C#中,我编写了一个使用REST从网站获取数据的方法。根据网站上的文档,我应该使用以下内容: var client = new RestClient(url + "token"); var request = new RestRequest(Method.POST); request.AddParameter("application/x-www-form-urlencoded", "grant_type=password&use

在这件事上我完全不懂。在C#中,我编写了一个使用REST从网站获取数据的方法。根据网站上的文档,我应该使用以下内容:

var client = new RestClient(url + "token");
var request = new RestRequest(Method.POST);

request.AddParameter("application/x-www-form-urlencoded",
                "grant_type=password&username=" + UserName +
                "&password=" + Password +
                "&tenant=" + Company,
                ParameterType.RequestBody);

IRestResponse response = client.Execute(request);
{
  "access_token": "generated_token_value",
  "token_type": "bearer",
  "expires_in": 2591999
}
要获得如下所示的响应:

var client = new RestClient(url + "token");
var request = new RestRequest(Method.POST);

request.AddParameter("application/x-www-form-urlencoded",
                "grant_type=password&username=" + UserName +
                "&password=" + Password +
                "&tenant=" + Company,
                ParameterType.RequestBody);

IRestResponse response = client.Execute(request);
{
  "access_token": "generated_token_value",
  "token_type": "bearer",
  "expires_in": 2591999
}
然而,我对如何阅读这些信息毫无头绪。我假设JSON响应在我的“response”变量中,但除此之外,我就不知所措了。我做了一点调查,发现Json.NET应该会有所帮助,但我对此一无所知。他们的文件表明:

Product deserializedProduct = JsonConvert.DeserializeObject<Product>(output);
Product-deserializedProduct=JsonConvert.DeserializeObject(输出);
但是,如果我将其转换为适合我的内容(创建一个“Responses”类,然后):

Responses=JsonConvert.DeserializeObject(响应);
我在VS中的“response”下得到一个错误,它说“无法从'RestSharp.IRestResponse'转换为'string'

我觉得我只需要稍微推动一下就可以克服这个困难。

Responses-Responses=JsonConvert.DeserializeObject(response.Content);
Responses responses = JsonConvert.DeserializeObject<Responses>(response.Content);
Responses Responses=JsonConvert.DeserializeObject(response.Content);

如果您转到的存储库,您将看到它有一个名为
Content
的特殊属性,其中包含字符串格式的JSon


现在,您可以使用
jsonvert.DeserializeObject(response.Content);
检索您的对象。

如果您转到的存储库,您将看到它有一个名为
Content
的特殊属性,其中包含字符串格式的JSon


现在,您可以使用
JsonConvert.DeserializeObject(response.Content);
来检索对象。

另一个选项可以是为预期的输出类型声明响应

IRestResponse<Responses> response = client.Execute<Responses>(request);
IRestResponse response=client.Execute(请求);

另一个选项可能是为预期的输出类型声明响应

IRestResponse<Responses> response = client.Execute<Responses>(request);
IRestResponse response=client.Execute(请求);

你的
Responses
类看起来像什么?可能重复使用
JsonConvert.DeserializeObject(response.Content)
@Liam他没有JSON字符串,但有
IRestResponse
对象,这意味着它不是重复的。你的
响应类是什么样子的?可能重复使用
JsonConvert.DeserializeObject(response.Content)
@Liam他没有JSON字符串,但有
IRestResponse
对象,这意味着它不是重复的。这成功了。内容属性成功了。现在我还有其他工作要做,但关键部分成功了。谢谢!这成功了。内容属性成功了。现在我有其他工作要做,但关键部分成功了。T汉克斯!