私はJSON.netを使用しています(おそらくv3.5ish?それは2010年10月からです)。そして私は、列挙の中にいくつかのJSONをデシリアライズしようとしている:JSON.netで列挙を解析する
geometryType: "esriGeometryPolygon"
iはこの列挙持っている:
/// <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
}
をしかし、それはesriGeometryPolygonを "変換エラー値を" というエラーがスローされます"と入力するには『... GeometryType』を。
を私がここで行方不明です何?
がそれをあるそれは古いバージョンだから(私は月を使用していますotouchポート:https://github.com/chrisntr/Newtonsoft.Json年は更新されていません)?または私は間違って私のdatacontractを得たか?
EDIT:私は最新のJSON.NETをMTに移植しましたが、私はまったく同じエラーを受けています。
JSONと正確に一致するようにC#でEnum値の名前を変更すると、違いはありますか? (EnumMember属性を使用しようとする代わりに) – jonathanpeppers
Jonathan、それはそうです。 –