我使用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。
有关这将如何发生的任何想法?
答案 0 :(得分:0)
您可以尝试指定CultureInfo
进行反序列化:
var json = "{ \"ClassA\":{ \"ValueA\":\"-100.11\"} }";
var settings = new JsonSerializerSettings
{
Culture = new CultureInfo("en")
};
var result = JsonConvert.DeserializeObject<MyJson>(json, settings);