序列化 – Newtonsoft中的TypeNameHandling需要$type作为第一个属性?
发布时间:2020-09-19 16:06:24 所属栏目: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 根据汉字获取汉字拼音的首字母(含多音字)
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- 在HiddenField asp.net中存储一个字符串数组
- asp.net-mvc – ASP.net MVC DropDownList预选项目被忽略
- ASP.NET页面验证
- asp.net – OutOfMemoryException当发送大文件500MB使用Fil
- asp.net-mvc-3 – 在ASP.NET MVC 3中覆盖/禁用授权
- 如何排序. .NET中的resx(资源文件)
- asp.net下创建、查询、修改带名称空间的 XML 文件的例子
- asp.net-mvc – ASP.NET MVC查看引擎解析顺序
推荐文章
站长推荐
- asp.net-mvc – Azure git部署 – 第二个程序集中
- 在ASP.NET中使用querystring的最佳做法?
- asp.net-mvc – 如何在asp.net mvc3项目中开始使
- asp.net – 请求在IIS工作进程中存在于RequestAc
- asp.net-mvc – 你如何指定在列表框中显示多少项
- asp.net-mvc – mvc razor @helper可以返回非编码
- 谈谈.NET Core中基于Generic Host来实现后台任务
- NHibernate中对同一个对象的Lazyload要设置一致
- asp.net-mvc – WebService还是一个简单的MVC控制
- asp.net-mvc-3 – 如何关闭我的整个ASP.NET MVC
热点阅读