使用json将位置传递给web api
我在WebAPI中有上面的类,我的get all和get by id函数可以工作。下面是它们返回的json示例:使用json将位置传递给web api,json,asp.net-web-api,geolocation,json.net,Json,Asp.net Web Api,Geolocation,Json.net,我在WebAPI中有上面的类,我的get all和get by id函数可以工作。下面是它们返回的json示例: [DataContract] public partial class Event { [DataMember] public int EventId { get; set; } [DataMember] [Required] [StringLength(50)] public string UserId { get;
[DataContract]
public partial class Event
{
[DataMember]
public int EventId { get; set; }
[DataMember]
[Required]
[StringLength(50)]
public string UserId { get; set; }
[DataMember]
[Required]
public string EventDescription { get; set; }
[DataMember]
[Column(TypeName = "smalldatetime")]
public DateTime Timestamp { get; set; }
[DataMember]
public int ActivityId { get; set; }
[DataMember]
public DbGeography Location { get; set; }
[IgnoreDataMember]
public virtual Activity Activity { get; set; }
}
但是,如果我将相同的json传递回post方法,它将无法将位置转换为dbgeography类型。我尝试过以不同的方式格式化位置,但在位置中总是会出现nullReferenceException
是否有一种特殊的方式可以用json格式化位置?我本以为,如果它序列化为该格式,它将能够反序列化该格式
谢谢您在发布
帖子时是否发送内容类型:application/json
标题?
{
"EventId": 6,
"UserId": "1",
"EventDescription": "Auckland city test",
"Timestamp": "2015-02-11T00:00:00",
"ActivityId": 1,
"Location": {
"Geography": {
"CoordinateSystemId": 4326,
"WellKnownText": "POINT (180.756117 -30.85824)"
}
}
}