Esiste un modo per serializzare una proprietà dell'oggetto Json che varia da decimale a decimale [] in una singola operazione?Serializzare una proprietà Json che a volte è una matrice
Nel mio feed prodotto Json le offerte speciali sono rappresentate come una matrice (prezzo normale/prezzo di vendita). Gli oggetti normali sono solo il prezzo. In questo modo:
[
{
"product" : "umbrella",
"price" : 10.50,
},
"product" : "chainsaw",
"price" : [
39.99,
20.0
]
}
]
L'unico modo in cui posso farlo funzionare è se faccio la proprietà di un oggetto in questo modo:
public class Product
{
public string product { get; set; }
public object price { get; set; }
}
var productList = JsonConvert.DeserializeObject<List<Product>>(jsonArray);
Ma se provo a farlo Decimale [] allora sarà lanciare un'eccezione su un singolo valore decimale. Rendendolo un oggetto significa che i valori degli array sono un JArray quindi devo fare qualche lavoro di ripulitura in seguito e altri mapping nella mia applicazione richiedono che il tipo di proprietà sia accurato quindi devo mapparlo a una proprietà non mappata e quindi inizializzare un'altra proprietà che non è un grosso problema ma un po 'disordinato con i nomi.
L'oggetto è l'unica opzione qui o c'è un po 'di magia che posso fare con il serializzatore che aggiunge un singolo valore all'array o il secondo valore a una proprietà separata per un prezzo speciale di offerta?
Invece di usare '' object' provare dinamica 'ie' prezzo dinamico pubblico {get; impostato; } ' –