c#使用Newtonsoft.Json进行反序列化时显式转换动态对象值

时间:2017-03-10 02:07:34

标签: c# .net json.net

我正在努力了解这里发生的事情。我正在使用NewtonSoft.Json

反序列化JSON响应

我注意到我明确需要强制转换此动态类型的属性才能对它们进行解释。

示例:

[Test]
public void Test()
{
    var a = JsonConvert.DeserializeObject<dynamic>("{ 'Amount': '123.0' }");

    Assert.AreEqual((decimal?)a.Amount, 123m);  //PASS
    Assert.AreEqual(a.Amount, 123m);            //FAIL
}

我很想知道为什么会这样?

此致

0 个答案:

没有答案