加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – .NET Web API将JSON反序列化为对象

发布时间:2020-12-16 03:54:38 所属栏目:asp.Net 来源:网络整理
导读:我超越了一个公司为我们开发的项目,遗憾的是我们没有得到太多支持,从长远来看,我们应该为自己完成维护.该应用程序包含一个简单的Web客户端(HTTP,JavaScript,Knockout框架)和REST API服务(.NET 4.5,我猜是ASP.NET MVC). 目前我只修改客户端,因此服务器仍应按
我超越了一个公司为我们开发的项目,遗憾的是我们没有得到太多支持,从长远来看,我们应该为自己完成维护.该应用程序包含一个简单的Web客户端(HTTP,JavaScript,Knockout框架)和REST API服务(.NET 4.5,我猜是ASP.NET MVC).

目前我只修改客户端,因此服务器仍应按预期工作.

在客户端,我稍微修改了Knockout View Model(添加了一些可计算和一些值的优化表示).视图模型由“问题”和“评论”组成(作为问题的数组,实际上是一个Bug跟踪器).如果我创建了一个新问题,则会将描述添加到第一个注释中,整个Model是JSON.stringified,并且发送到.NET API服务.我与Firebug一起证明,发布的JSON看起来像这样:

{
   "Id":0,"Title":"THis is a title","Comments":[
       {
          "Id":1,"Text":"this is the first comment"
       }
   ]
}

在客户端,我有一个“IssueController”:

[HttpPost]
public HttpResponseMessage PostIssues( Issue issue ) {
   //issue should already hold the deserialized content of the JSON here,//but it only contains 'Id' and 'Title' not the 'Comments' (empty List)
   ...
}

问题域模型对象也有一个用于保存注释的数组,但是为此它已经是空的. .NET代码没有明确解析JSON的任何部分,据我所知,MVC框架通过相同的属性名称隐含地执行此操作(是吗?).

反序列化已按预期工作,因此.NET代码应该没问题,但我看起来我已经以某种方式修改了JSON,这种注释的隐式映射不再起作用.不幸的是,我没有很多.NET MVC框架的经验(或者它只是.NET WebAPI框架,甚至不能告诉你).

这些是我的问题:

>那是什么样的.NET REST API框架?我该如何区分?
>这种隐式JSON反序列化是如何工作的,以及它的缺陷是什么,例如当JSON的某些部分未按预期反序列化时?特别是在客户端(正如我所说,我没有修改服务器代码)
>关于我可以对JSON做什么的任何想法,服务器不再喜欢它了?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读