Mam następujący kod:Jak obsługiwać/null pustych wartości w JsonConvert.DeserializeObject
return (DataTable)JsonConvert.DeserializeObject(_data, (typeof(DataTable)));
Następnie próbowałem:
var jsonSettings = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore
};
return (DataTable)JsonConvert.DeserializeObject<DataTable>(_data, jsonSettings);
Linia powrotu rzuca błąd:
{"Błąd podczas konwersji wartości \" \ "na typ" System.Double ".}}
Wiele rozwiązań online sugerujących tworzenie niestandardowych Class
z typami zerowymi, ale to nie będzie działać dla mnie. Nie mogę oczekiwać, że json będzie w określonym formacie. Nie mam wpływu na liczbę kolumn, typ kolumny ani nazwy kolumn.
użyć 'Dictionary'. –
Być może powinieneś zamiast tego użyć LINQ do JSON i uzyskać 'JObject' zamiast tworzyć' DataTable'? –
Jeśli chcesz przekonwertować 'DataTable' użyj dedykowanego konwertera [DataTableConverter] (https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/Converters/DataTableConverter.cs#25) – Candide