JSON反序列化将负值转换为绝对值
本文关键字:转换 绝对值 反序列化 JSON | 更新日期: 2023-09-27 18:21:22
我正在使用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。
你知道这是怎么发生的吗?
您可以尝试为反序列化指定CultureInfo
:
var json = "{ '"ClassA'":{ '"ValueA'":'"-100.11'"} }";
var settings = new JsonSerializerSettings
{
Culture = new CultureInfo("en")
};
var result = JsonConvert.DeserializeObject<MyJson>(json, settings);