Ho il codice seguente:Come gestire i valori nulli/vuoti in JsonConvert.DeserializeObject
return (DataTable)JsonConvert.DeserializeObject(_data, (typeof(DataTable)));
Poi, ho provato:
var jsonSettings = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore
};
return (DataTable)JsonConvert.DeserializeObject<DataTable>(_data, jsonSettings);
La linea di ritorno sta gettando l'errore:
{"Errore durante la conversione del valore \" \ "per digitare 'System.Double'."}
Un sacco di soluzioni online suggeriscono la creazione di Class
personalizzati con tipi nullable, ma questo non funzionerà per me. Non posso aspettarmi che il JSON sia in un certo formato. Non ho controllo sul numero di colonne, sul tipo di colonna o sui nomi di colonna.
usare un 'Dictionary'. –
Forse dovresti usare LINQ su JSON invece di ottenere un 'JObject' invece di creare un' DataTable'? –
Se è necessario convertire 'DataTable', utilizzare il convertitore dedicato [DataTableConverter] (https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/Converters/DataTableConverter.cs#L25) – Candide