【发布时间】:2012-04-16 06:36:22
【问题描述】:
为 JSON.NET 序列化程序替换标准序列化程序不是问题。下面的代码直接取自 Scott Hanselman 的博客
http://www.hanselman.com/blog/OnTheNightmareThatIsJSONDatesPlusJSONNETAndASPNETWebAPI.aspx
JsonSerializerSettings serializerSettings = new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore };
serializerSettings.Converters.Add(new IsoDateTimeConverter());
GlobalConfiguration.Configuration.Formatters[0] = new JsonNetFormatter(serializerSettings);
但是,执行此操作后我无法保存任何内容,ajax 调用失败。我得到的错误是:
此 DataController 不支持实体“JObject”的“插入”操作。
JObject 是从 JSON.NET 序列化程序返回的内容。它不尊重附加到实体的“__type”属性。
示例 JSON:
[{"Id":"0","Operation":1,"Entity":{"__type":"Product:#Catalog.Models","Sku":"adsfadsf"}}]
除了深入 JSON.NET 源代码来解决这个问题,我还能做些什么吗? ASP.NET MVC 4 Beta 中是否有更新可以解决此问题?
【问题讨论】:
标签: json.net asp.net-mvc-4 asp.net-web-api upshot