相关疑难解决方法(0)

用于DbGeography的JSON.Net JsonConverter

漫长的挣扎与此...

基本上我有一个带有DbGeography属性的模型优先EF5对象.我想应用一个JsonConverter让它作为简单的纬度/经度值往返.我正在使用WebAPI.

寻找JSON输出和输入如下:

{
    "location":
    {
        "geopoint":
        {
            "latitude":40.770712,
            "longitude":-73.962011
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的类定义和JsonConverter:

[MetadataType(typeof(QueryLocationMetadata))]
partial class Location
{
}

public class QueryLocationMetadata
{
    [JsonConverter(typeof(DbGeographyConverter))]
    public virtual DbGeography GeoPoint { get; set; }
}


public class DbGeographyConverter : JsonConverter
{
    private const string LATITUDE_KEY = "latitude";
    private const string LONGITUDE_KEY = "longitude";

    public override bool CanConvert(Type objectType)
    {
        return objectType.Equals(typeof(DbGeography));
    }

    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        if (reader.TokenType == …
Run Code Online (Sandbox Code Playgroud)

entity-framework spatial json.net asp.net-mvc-4 asp.net-web-api

9
推荐指数
2
解决办法
5447
查看次数