Когда я пытаюсь десериализовать JSon, значение столбца будет преобразовано из числа с плавающей точкой в int.
Ниже Джсон: -
{{
"ImportData": [
{
"ProdName": "Pipes",
"Qty": 11.3,
"Rate": 610.3,
"Discount": 20,
},
{
"ProdName": "Drill Machine",
"Qty": 12,
"Rate": 400.3,
"Discount": 10.3,
},
{
"ProdName": "Cement",
"Qty": 50,
"Rate": 1110.5,
"Discount": 15.5,
}
],
"TypeId": 1,
"SourceId": 1,
"CreatedBy": 35
}}
Я объявил настройки сериализатора Json для обработки поплавков ...
JsonSerializerSettings settings = new JsonSerializerSettings
{
FloatParseHandling = FloatParseHandling.Decimal
};
и укажите настройки при десериализации ...
dt = JsonConvert.DeserializeObject<DataTable>(objParam["ImportData"].ToString(),settings);
dt output: -
ProdName Qty Rate Discount
------------------------------------------------
Pipes 11.3 610.3 20
Drill Machine 12 400.3 10
cement 50 1110.5 15
ожидаемый результат: -
ProdName Qty Rate Discount
------------------------------------------------
Pipes 11.3 610.3 20
Drill Machine 12 400.3 10.3
cement 50 1110.5 15.5
Может кто-нибудь подсказать мне, как решить эту проблему? Я просмотрел много постов, но не нашел рабочего решения.