繁体   English   中英

ReadAsAsync Json反序列化

[英]ReadAsAsync Json Deserialization

我遇到了使用ReadAsAsync反序列化作为从Web服务返回的JSON对象列表的问题。 结果列表具有正确的记录数,但是对象上的所有属性均为空。 奇怪的是,相同的代码对我的同事来说很好用,而在其他解决方案中对我来说也可以。 我将代码简化为:

  var response = new System.Net.Http.HttpResponseMessage();
            response.Content = new System.Net.Http.StringContent(@"{""Currency"": ""USD""}", System.Text.Encoding.UTF8, "application/json");
            var prices = response.Content.ReadAsAsync<Price>().Result;

  public class Price
    {
        public string Currency { get; set; }
    }

这样可以很好地执行,但是Currency属性将为null。 我尝试将此代码复制到空白的ASP.NET MVC解决方案中,并且工作正常。 我也在Visual Studio 2015和2017中都尝试过,但两者都存在相同的问题。

我终于找到了解决这个问题的方法。 它与NewtonSoft.Json程序集有关。 看来GAC中的版本与Visual Studio使用的版本之间存在版本冲突。 用Visual Studio中的一个替换GAC中的一个即可解决此问题。 这是我在此解决方案中找到的文章。

https://billti.github.io/jsdocs/articles/troubleshooting/newtonsoft.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM