【问题标题】:Unable to Deserialize Json using C# Rest Sharp无法使用 C# Rest Sharp 反序列化 Json
【发布时间】:2019-05-03 09:07:41
【问题描述】:

我无法通过 C# 反序列化 Json 对象。

但是,在反序列化数据时,我收到一条错误消息:

Json 调用返回的内容:

[\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?

任何帮助将不胜感激。

谢谢 抢

【问题讨论】:

    标签: c# json.net


    【解决方案1】:

    因为您的 JSON 数据是一个数组,所以没有对象。 您可以尝试使用IEnumerable&lt;RedirectUriGetDto&gt; 而不是Rootobject

    var result = JsonConvert.DeserializeObject<IEnumerable<RedirectUriGetDto>>(test.Content); 
    

    【讨论】:

    • 非常感谢您的帮助 :-)
    • 没问题很高兴帮助
    【解决方案2】:

    您必须在 Json 结果中添加父对象:

        var object1 = JsonConvert.DeserializeObject<Rootobject>(string.Format ("{{\"redirectUris\" :{0}}}", test.Content));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-27
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多