Ho il seguente scenario: Sto utilizzando WebAPI e restituisco i risultati JSON al consumatore in base a un modello. Ora ho il requisito aggiuntivo di serializzare i modelli su base64 per poterli conservare in cache e/o usarli a fini di controllo. Il problema è che quando aggiungo l'attributo [Serializable]
al modello modo per convertire il modello a Base64, i cambiamenti di uscita JSON come segue:Utilizzo dell'attributo serializzabile sul modello in WebAPI
Il Modello:
[Serializable]
public class ResortModel
{
public int ResortKey { get; set; }
public string ResortName { get; set; }
}
Senza il [Serializable]
attributo l'uscita JSON è :
{
"ResortKey": 1,
"ResortName": "Resort A"
}
Con l'attributo [Serializable]
l'uscita JSON è:
{
"<ResortKey>k__BackingField": 1,
"<ResortName>k__BackingField": "Resort A"
}
Come potrei essere in grado di utilizzare l'attributo [Serializable]
senza modificare l'output del JSON?
Grazie Bart, grande risposta! Sono andato a usare 'GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings = new Newtonsoft.Json.JsonSerializerSettings();' in modo da non dover decorare ogni singolo modello con '[JsonObject]' – Ebbs