我无法通过C#反序列化Json对象。
但是,在反序列化数据时,我收到一条错误消息:
Json Call返回的内容:
[\r\n {\r\n \"postLogoutRedirectUri\": \"https://demo-pec.stage.reds.rxweb-pre.com/services/rxauthlogout\",\r\n \"redirectUri\": \"https://demo-pec.stage.reds.rxweb-pre.com/services/rxauth\"\r\n },\r\n {\r\n \"postLogoutRedirectUri\": \"https://stage.ecommsummitexpo.com/services/rxauthlogout\",\r\n \"redirectUri\": \"https://stage.ecommsummitexpo.com/services/rxauth\"\r\n },\r\n {\r\n \"postLogoutRedirectUri\": \"https://eventportal-new-stage.aem.rxweb-pre.com/services/rxauthlogout\"\r\n }\r\n]
我的RestSharp呼叫:
public Rootobject getRedirectUris(string redirectUriGetUrl)
{
var client = new RestClient(redirectUriGetUrl);
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("accept", "text/plain");
IRestResponse test = client.Execute(request);
Rootobject object1 = JsonConvert.DeserializeObject<Rootobject>(test.Content); ;
return object1;
}
我的C#类
public class Rootobject
{
public RedirectUriGetDto[] redirectUris { get; set; }
}
public class RedirectUriGetDto
{
public string postLogoutRedirectUri { get; set; }
public string redirectUri { get; set; }
}
我收到异常消息:阅读完JSON内容后,遇到了其他文本:。路径”,第5行,位置4。
任何想法为什么会这样?是由于上述无效的Json吗?
任何帮助将不胜感激。
谢谢 罗布
答案 0 :(得分:4)
因为您的JSON
数据是数组,所以不反对。
您可以尝试使用IEnumerable<RedirectUriGetDto>
代替Rootobject
var result = JsonConvert.DeserializeObject<IEnumerable<RedirectUriGetDto>>(test.Content);
答案 1 :(得分:0)
您必须在Json结果中添加父对象:
var object1 = JsonConvert.DeserializeObject<Rootobject>(string.Format ("{{\"redirectUris\" :{0}}}", test.Content));