序列化 – Newtonsoft中的TypeNameHandling需要$type作为第一个属性?
发布时间:2020-09-18 18:05:20 所属栏目:asp.Net 来源:互联网
导读:参见英文答案 Newtonsoft JSON.net deserialization error where fields in JSON change order1个 我的web api中有以下方法 public void Put(string id, [FromBody]IContent value) { //
|
参见英文答案 >
Newtonsoft JSON.net deserialization error where fields in JSON change order1个
public void Put(string id,[FromBody]IContent value) {
//Do stuff
}
我正在使用骨干js使用fiddler将以下JSON发送到服务器,值为null: {
"id": "articles/1","heading": "Bar","$type": "BrickPile.Samples.Models.Article,BrickPile.Samples"
}
但是如果我在JSON对象中首先添加$type属性,反序列化工作正常,请参阅: {
"$type": "BrickPile.Samples.Models.Article,BrickPile.Samples","id": "articles/1","heading": "Bar"
}
是否可以配置newtonsoft以检查对象中的$type属性而不是第一个属性,还是可以配置主干,以便它始终首先在JSON对象中添加$type属性? 解决方法这将在骨干网中起作用,但我不知道每个浏览器的行为是否相同.基本上,并不能保证每个浏览器都会按照添加的顺序保留项目.MyModel = Backbone.Model.extend({
// ...
toJSON: function(){
// build the "$type" as the first parameter
var json = {"$type": "BrickPile.Samples.Models.Article,BrickPile.Samples"};
// get the rest of the data
_.extend(json,Backbone.Model.prototype.toJSON.call(this));
// send it back,and hope it's in the right order
return json;
}
});
不过,你最好让NewtonSoft的JSON解串器工作,而不需要它在特定的位置.希望这是可能的. (编辑:日照站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET Page_Init被解雇了两次!
- asp.net-mvc – ASP.NET MVC V2 – 好友类
- asp.net实现文件下载的代码
- asp.net中Session缓存与Cache缓存的区别分析
- asp.net – 如何使用JwtSecurityTokenHandler和JWKS端点验证
- asp.net-mvc – View中的意外NullReferenceException
- asp.net-mvc – Azure git部署 – 第二个程序集中缺少引用
- asp.net-mvc-3 – 是否可能获得一个ASP.NET MVC 3项目工作在
- asp.net-mvc – AJAX POST到MVC Controller显示302错误
- asp.net 文章内容分页显示的代码
推荐文章
站长推荐
- asp.net-mvc – 如何编辑表格数据(ASP MVC)
- asp.net-core – asp.net核心身份中的多个SubDom
- MVC SessionStateAttribute不作为全局属性
- asp.net-mvc – 使用ASP.Net MVC中的模型绑定器更
- asp.net – [DataType(DataType.EmailAddress)]和
- azure – 当用户存储在外部身份提供程序服务中时
- asp.net 将一个图片以二进制值的形式存入Xml文件
- asp.net-mvc – 如何使用ASP.NET MVC ApiControl
- ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实
- ASP.NET Core中实现用户登录验证的最低配置示例代
热点阅读
