带有HttpClient但JSON响应未知的REST api
我正在使用WebApi httpclient构建一个.NETAPI库,用于REST Web服务 rest服务返回JSON 我遇到的问题是,对于一个请求,可能会返回不同的JSON格式 如果查询成功,我会返回一个JSON数组,我已经创建了一个强c#type来保存它 使用ReadAsAsync带有HttpClient但JSON响应未知的REST api,json,dotnet-httpclient,Json,Dotnet Httpclient,我正在使用WebApi httpclient构建一个.NETAPI库,用于REST Web服务 rest服务返回JSON 我遇到的问题是,对于一个请求,可能会返回不同的JSON格式 如果查询成功,我会返回一个JSON数组,我已经创建了一个强c#type来保存它 使用ReadAsAsync方法将其从内容中取出 如果请求中存在错误的api密钥或发生其他错误,rest服务将返回一个JSON对象,其中包含一些属性,如status=error和解释消息等 我不能仅仅使用ReadAsAsync方法,因为我不
if (httpResponseMessage.IsSuccessStatusCode)
{
// Deserialize your JSON array
}
else
{
// Deserialize the error
}
如果请求中存在错误的api密钥或发生其他错误,rest服务将返回一个JSON对象,其中包含一些属性,如status=error和解释消息等
在这种情况下,返回的状态代码将不会成功。您可以检查状态代码,然后适当地反序列化响应内容:
if (httpResponseMessage.IsSuccessStatusCode)
{
// Deserialize your JSON array
}
else
{
// Deserialize the error
}
在这种情况下,可以使用错误处理
try
{
//Deserialize your JSON Array..this will throw an exception in case of type mismatch
}
catch(Exception e)
{
//Deserialize your JSON object which will give you Error code or message
}
在这种情况下,可以使用错误处理
try
{
//Deserialize your JSON Array..this will throw an exception in case of type mismatch
}
catch(Exception e)
{
//Deserialize your JSON object which will give you Error code or message
}