【发布时间】:2015-11-11 00:39:44
【问题描述】:
我正在使用JsonConvert.DeserializeObject<MyJson>(input) 来解析传入的字符串。
MyJson 类声明如下
public class MyJson
{
public ClassA ClassA { get; set; }
// some other classes
}
public class ClassA
{
public decimal? ValueA { get; set; }
// some other values
}
而传入字符串input 的内容为
{"ClassA":{"ValueA":"-100.11"}}
解析没有抛出任何错误,所有值都解析成功,除了负值 -100.11 已转换为 100.11。
你知道这将如何发生吗?
【问题讨论】:
-
如果您的输入是
{"ClassA":{"ValueA":-100.11}},会发生什么? -
这是第三方输入,不可修改。我怀疑这是潜在的原因,但无法进一步证明。
-
对我来说效果很好。这是一个小提琴 (dotnetfiddle.net/aSBJni)。
-
无法复制。见小提琴:dotnetfiddle.net/9lu3JS
-
对我也很好。这可能与特定于文化的解析行为有关。
标签: c# json deserialization