Когда я пытаюсь десериализовать строку JSON, значения некоторых атрибутов JSON преобразуются из числа с плавающей точкой в int.
Это строка JSON:
{
"skip": 0,
"take": 5,
"rows": [
{
"PRIJSLIJST": "I0109",
"DIENST": "506",
"PRIJS": 199.99,
"BI_WAARDE": 199.99,
"NI_WAARDE": 199.99
}
]
}
Значение "199,99" десериализовано до "199".
Я также пытался JsonSerializerSettings
, но он также не работал (я пробовал в разных культурах).
Dim settings As New JsonSerializerSettings() With {.FloatParseHandling = FloatParseHandling.Decimal, .Culture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US")}
Dim dt As DataTable = Newtonsoft.Json.JsonConvert.DeserializeObject(Of DataTable)(strOutput_JSON, settings)
ОБНОВЛЕНИЕ РЕШЕНИЯ
Моим начальным значениям было присвоено 0, поэтому тип данных был установлен в целое число. Затем я попытался заменить мои начальные значения десятичными, затем для типа данных было установлено значение с плавающей запятой / десятичное число.