2011-06-23 20 views
2

ライブラリを使用してGeoJSONを逆シリアル化しようとしています。各フィーチャのジオメトリコンポーネントは、「タイプ」属性値に基づいて多くの異なるタイプにすることができます。JSON.netで.net基本クラスにJSONを逆シリアル化します。

私はそうのようなジオメトリオブジェクトモデルには、このにGeoJSONの幾何学的構成要素をデシリアライズする必要が

public abstract class Geometry { ... } 

public class Point : Geometry { ... } 

public class LineString : Geometry { ... } 

public class Polygon : Geometry { ... } 

だから、「タイプ」属性の値に基づいて、それが対応する.NETコンクリートの中にデシリアライズしますベースのGeometryクラスを介してアクセスします。

JSON.netライブラリは、WCFでKnownTypeAttribute、またはXMLシリアル化でXmlElementAttributeと似た何かを提供していますか?JSONを、既知の派生クラスのセットでベースクラスに逆シリアル化できますか?

答えて

4

ドキュメントhereは、この例を示します。

[JsonObject(MemberSerialization.OptIn)] 
    public class Person 
    { 
     // "John Smith" 
     [JsonProperty] 
     public string Name { get; set; } 

     // "2000-12-15T22:11:03" 
     [JsonProperty] 
     [JsonConverter(typeof(IsoDateTimeConverter))] 
     public DateTime BirthDate { get; set; } 

     // new Date(976918263055) 
     [JsonProperty] 
     [JsonConverter(typeof(JavaScriptDateTimeConverter))] 
     public DateTime LastModified { get; set; } 

     // not serialized 
     public string Department { get; set; } 
    } 
+0

私が発見したとして、それはJsonConverterについてすべてです。 – jumpinjackie

関連する問題