sto usando JSON.net (forse v3.5ish? È dell'ottobre 2010). e sto cercando di deserializzare alcuni JSON in un'enumerazione:analizzando un'enumerazione in JSON.net
GeometryType: "esriGeometryPolygon"
ho questa enumerazione:
/// <summary>
/// The geometry type.
/// </summary>
[DataContract]
public enum GeometryType
{
/// <summary>
/// Refers to geometry type Envelope
/// </summary>
[EnumMember(Value = "esriGeometryEnvelope")]
Envelope,
/// <summary>
/// Refers to geometry type MultiPoint
/// </summary>
[EnumMember(Value = "esriGeometryMultipoint")]
MultiPoint,
/// <summary>
/// Refers to geometry type MapPoint
/// </summary>
[EnumMember(Value = "esriGeometryPoint")]
Point,
/// <summary>
/// Refers to geometry type Polygon
/// </summary>
[EnumMember(Value = "esriGeometryPolygon")]
Polygon,
/// <summary>
/// Refers to geometry type Polyline
/// </summary>
[EnumMember(Value = "esriGeometryPolyline")]
Polyline
}
ma genera un errore che dice "Errore valore di conversione" esriGeometryPolygon "per digitare '... GeometryType'.
che cosa mi manca qui?
è perché è una vecchia versione (sto usando il mon porta otouch: https://github.com/chrisntr/Newtonsoft.Json che non è stato aggiornato in un anno)? o ho sbagliato il mio contratto con i dati?
EDIT: ho portato l'ultimo JSON.NET su MT e sto ancora ottenendo lo stesso errore.
Qualsiasi differenza se si rinomina il proprio valore Enum in C# in modo che corrisponda esattamente al JSON? (Invece di provare ad usare l'attributo EnumMember) – jonathanpeppers
Jonathan, sembra, sì. –