C# 如何强制json.net将数据表列从整数反序列化为浮点
我正在尝试将json分解为数据表。我的JSON如下所示: [{ “Id”:35, “名称”:“ABC”, “XVar”:0.078814, “伊瓦尔”:1 }, { “Id”:79, “名称”:“XYZ”, “XVar”:1.50, “伊瓦尔”:30.2 }] 我正在使用以下代码进行反序列化: var dataTable=(dataTable)JsonConvert.DeserializeObject(jsonString,(typeof(dataTable))C# 如何强制json.net将数据表列从整数反序列化为浮点,c#,json.net,json-deserialization,C#,Json.net,Json Deserialization,我正在尝试将json分解为数据表。我的JSON如下所示: [{ “Id”:35, “名称”:“ABC”, “XVar”:0.078814, “伊瓦尔”:1 }, { “Id”:79, “名称”:“XYZ”, “XVar”:1.50, “伊瓦尔”:30.2 }] 我正在使用以下代码进行反序列化: var dataTable=(dataTable)JsonConvert.DeserializeObject(jsonString,(typeof(dataTable)) 问题是第二个对象的Y值序列化为3
问题是第二个对象的Y值序列化为30,而不是30.2。我能做的最简单的事情是保存数据。欢迎所有想法。您面临的问题是,默认情况下,用于序列化和反序列化
DataTable
类型的Json.NetDataTableConverter
使用Json字符串中的第一个对象来检测每列的值类型。由于第一个对象上的YVar
是一个整数,因此它假定该列上的所有其他对象也是整数
您有两种选择:
JsonConvert.DeserializeObject(字符串值、类型、参数JsonConverter[]转换器)的重载。