MVC中Json的使用:Controller中Json的处理
- var allEntities = service.QueryByPage(this.GetSearchFilter(searchModel), "InsertedDateUtc Descending", pageSize, searchModel.PageIndex + , out recordCount);
- return Json(allEntities, JsonRequestBehavior.AllowGet);
前台得到的Json数据(两条记录)
- [
- {
- "DocumentID": "61d09198-198e-403e-89a0-01b98402c8ca",
- "DocumentFileName": "189017.docx.pdf",
- "ContentType": "doc",
- "Size": 167228,
- "InsertedDateUtc": "/Date(1358762613167)/",
- "LastModifiedOnDataSource": "/Date(1358504490000)/",
- "UniqueIDOnDataSource": "189017",
- "IsActive": true,
- "HasBeenIndexed": true,
- "TradeProductID": "1e04dc4d-5a68-4982-ba88-170a3f6525f5",
- "HasProcessedForAlerts": false,
- "Congress": "ESMO-2012",
- "Authors": "Zi Ming Zhao",
- "CongressType": "Poster",
- "DocumentTitle": "立普妥-一级预防中的应用 ",
- "EntityState": 2,
- "EntityKey": {
- "EntitySetName": "Document",
- "EntityContainerName": "MVCExampleEntities",
- "EntityKeyValues": [
- {
- "Key": "DocumentID",
- "Value": "61d09198-198e-403e-89a0-01b98402c8ca"
- }
- ],
- "IsTemporary": false
- }
- },
- {
- "DocumentID": "a71ea30c-b544-41fa-b008-77adcf7a0250",
- "DocumentFileName": "189153.docx.pdf",
- "ContentType": "doc",
- "Size": 136195,
- "InsertedDateUtc": "/Date(1358762610573)/",
- "LastModifiedOnDataSource": "/Date(1358778247000)/",
- "UniqueIDOnDataSource": "189153",
- "IsActive": true,
- "HasBeenIndexed": true,
- "TradeProductID": "1e04dc4d-5a68-4982-ba88-170a3f6525f5",
- "HasProcessedForAlerts": false,
- "Congress": null,
- "Authors": null,
- "CongressType": null,
- "DocumentTitle": "立普妥-碾碎服用 ",
- "EntityState": 2,
- "EntityKey": {
- "EntitySetName": "Document",
- "EntityContainerName": "MVCExampleEntities",
- "EntityKeyValues": [
- {
- "Key": "DocumentID",
- "Value": "a71ea30c-b544-41fa-b008-77adcf7a0250"
- }
- ],
- "IsTemporary": false
- }
- }
- ]
代码
- var allEntities = service.QueryByPage(this.GetSearchFilter(searchModel), "InsertedDateUtc Descending", pageSize, searchModel.PageIndex + , out recordCount);
- string json = JsonConvert.SerializeObject(allEntities);
- StringBuilder sb = new StringBuilder();
- sb.Append("{");
- sb.Append("\"total\"");
- sb.Append(":280,");
- sb.Append("\"rows\"");
- sb.Append(":");
- sb.Append(json);
- sb.Append("}");
- return Content(sb.ToString());
- 或者直接用String: string jsonString = "{'total':280,'rows':" + json + "}"; (此方法用easyui测试时,前台无法解析)。
- return Content(jsonString);
前台得到的Json数据
- {
- "total": 280,
- "rows": [
- {
- "$id": "1",
- "DocumentID": "61d09198-198e-403e-89a0-01b98402c8ca",
- "DocumentFileName": "189017.docx.pdf",
- "ContentType": "doc",
- "Size": 167228,
- "InsertedDateUtc": "2013-01-21T18:03:33.167",
- "LastModifiedOnDataSource": "2013-01-18T18:21:30",
- "UniqueIDOnDataSource": "189017",
- "IsActive": true,
- "HasBeenIndexed": true,
- "TradeProductID": "1e04dc4d-5a68-4982-ba88-170a3f6525f5",
- "HasProcessedForAlerts": false,
- "Congress": "ESMO-2012",
- "Authors": "Zi Ming Zhao",
- "CongressType": "Poster",
- "DocumentTitle": "立普妥-一级预防中的应用 ",
- "EntityKey": {
- "$id": "2",
- "EntitySetName": "Document",
- "EntityContainerName": "MVCExampleEntities",
- "EntityKeyValues": [
- {
- "Key": "DocumentID",
- "Type": "System.Guid",
- "Value": "61d09198-198e-403e-89a0-01b98402c8ca"
- }
- ]
- }
- },
- {
- "$id": "3",
- "DocumentID": "a71ea30c-b544-41fa-b008-77adcf7a0250",
- "DocumentFileName": "189153.docx.pdf",
- "ContentType": "doc",
- "Size": 136195,
- "InsertedDateUtc": "2013-01-21T18:03:30.573",
- "LastModifiedOnDataSource": "2013-01-21T22:24:07",
- "UniqueIDOnDataSource": "189153",
- "IsActive": true,
- "HasBeenIndexed": true,
- "TradeProductID": "1e04dc4d-5a68-4982-ba88-170a3f6525f5",
- "HasProcessedForAlerts": false,
- "Congress": null,
- "Authors": null,
- "CongressType": null,
- "DocumentTitle": "立普妥-碾碎服用 ",
- "EntityKey": {
- "$id": "4",
- "EntitySetName": "Document",
- "EntityContainerName": "MVCExampleEntities",
- "EntityKeyValues": [
- {
- "Key": "DocumentID",
- "Type": "System.Guid",
- "Value": "a71ea30c-b544-41fa-b008-77adcf7a0250"
- }
2、重新创建一个新Json对象,把数据装进去。然后返回前台。
- var allEntities = service.QueryByPage(this.GetSearchFilter(searchModel), "InsertedDateUtc Descending", pageSize, searchModel.PageIndex + , out recordCount);
- // 创建JsonResult对象。
- JsonResult j = new JsonResult()
- {
- Data = new
- {
- total = recordCount,
- rows = allEntities
- }
- };
- //以下两个参数可选,前台接收有问题时可加上试试
- // j.ContentType = "application/json";
- //j.ContentEncoding = System.Text.Encoding.UTF8;
- //以下参数设置是否允许GET请求
- j.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
- return j; //此处不能再用 return Json(j, JsonRequestBehavior.AllowGet);//方式,否则相当于把Json又转换了一遍Json,前台接收的数据如下(我用easyui测试时,前台无法解析)。
EasyUi环境下有问题的Json
- {
- "ContentEncoding": null,
- "ContentType": null,
- "Data": {
- "total": 920,
- "rows": [
- {
- "DocumentID": "61d09198-198e-403e-89a0-01b98402c8ca",
- "DocumentFileName": "189017.docx.pdf",
- "ContentType": "doc",
- "Size": 167228,
- "InsertedDateUtc": "/Date(1358762613167)/",
- "LastModifiedOnDataSource": "/Date(1358504490000)/",
- "UniqueIDOnDataSource": "189017",
- "IsActive": true,
- "HasBeenIndexed": true,
- "TradeProductID": "1e04dc4d-5a68-4982-ba88-170a3f6525f5",
- "HasProcessedForAlerts": false,
- "Congress": "ESMO-2012",
- "Authors": "Zi Ming Zhao",
- "CongressType": "Poster",
- "DocumentTitle": "立普妥-一级预防中的应用 ",
- "EntityState": 2,
- "EntityKey": {
- "EntitySetName": "Document",
- "EntityContainerName": "MVCExampleEntities",
- "EntityKeyValues": [
- {
- "Key": "DocumentID",
- "Value": "61d09198-198e-403e-89a0-01b98402c8ca"
- }
- ],
- "IsTemporary": false
- }
- },
- {
- "DocumentID": "a71ea30c-b544-41fa-b008-77adcf7a0250",
- "DocumentFileName": "189153.docx.pdf",
- "ContentType": "doc",
- "Size": 136195,
- "InsertedDateUtc": "/Date(1358762610573)/",
- "LastModifiedOnDataSource": "/Date(1358778247000)/",
- "UniqueIDOnDataSource": "189153",
- "IsActive": true,
- "HasBeenIndexed": true,
- "TradeProductID": "1e04dc4d-5a68-4982-ba88-170a3f6525f5",
- "HasProcessedForAlerts": false,
- "Congress": null,
- "Authors": null,
- "CongressType": null,
- "DocumentTitle": "立普妥-碾碎服用 ",
- "EntityState": 2,
- "EntityKey": {
- "EntitySetName": "Document",
- "EntityContainerName": "MVCExampleEntities",
- "EntityKeyValues": [
- {
- "Key": "DocumentID",
- "Value": "a71ea30c-b544-41fa-b008-77adcf7a0250"
- }
- ],
- "IsTemporary": false
- }
- }
- ]
- },
- "JsonRequestBehavior": 0,
- "MaxJsonLength": null,
- "RecursionLimit": null
- }
三 、最后一个Json数据查看工具,很方便。
JSON Viewer
MVC中Json的使用:Controller中Json的处理的更多相关文章
- spring mvc中的service和controller中读取不到properties值
根据web.xml读取配置文件中的顺序来看 controller层和service层来自于spring mvc.xml中读取,所以必须要在spring mvc.xml中配置读取资源文件夹方式
- 控制器controller与指令中的link、controller中变量作用域的关系
angjualrjs中的作用域与原生js中的函数嵌套原理一致,都是存在作用域的继承.若在子控制器(同样包括在指令中的link或是controllerding中定义变量,此时指令中必须未使用scope独 ...
- ASP.NET MVC 前端(View)向后端(Controller)中传值
在MVC中,要把前端View中的值传递给后端Controller, 主要有两种方法 1. 利用Request.Form 或者 Request.QueryString public ActionResu ...
- spring mvc Controller中使用@Value无法获取属性值
在使用spring mvc时,实际上是两个spring容器: 1,dispatcher-servlet.xml 是一个,我们的controller就在这里,所以这个里面也需要注入属性文件 org.sp ...
- spring controller中@Value取不到applicationContext.xml中加载配置文件的问题
原因还未查证: http://sunjun041640.blog.163.com/blog/static/256268322014127113844746/ 在使用spring mvc时,实际上是两个 ...
- 在Controller中添加事务管理
文章参考了此博客: https://blog.csdn.net/qq_40594137/article/details/82772545 写这篇文章之前先说明一下: 1. Controller中添加事 ...
- ASP.NET MVC 学习1、新增Controller,了解MVC运行机制
1,turorial ,根据链接教程新建一个MVC项目 http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/ ...
- 在MVC中使用Json.Net序列化和反序列化Json对象
在.Net的MVC开发中,经常会使用到Json对象,于是,系统提供了JsonResult这个对象,其本质是调用.Net系统自带的Json序列化类JavaScriptSerializer对数据对象进行序 ...
- 在jfinal的Controller中接受json数据
JFinal中接收URL中的参数或者model中的参数是很方便的,但是对于web2.0的网站来说,经常会以json方式提交比较复杂的数据,比如一个查询,包含了各种过滤条件和排序分页,前端脚本可能提交的 ...
- Ajax前台返回JSON数据后再Controller中直接转换成类型使用,后台接收json转成实体的方法
之前写过一篇记录文章,写的是将一个比较复杂的数据结构在前台组合起来后传递到后台. 当时并不太了解@RequestBody,也并没有使用js提供的JSON.stringify()方法 所有都是自己写的, ...
随机推荐
- 如何参与一个 GitHub 开源项目?
最近一年开源项目特别的热,很多技术大会或论坛都以开源项目作为主题进行探讨,可见这是一种趋势.而Github作为开源项目的著名托管地,可谓无 人不知,越来越多的个人和公司纷纷加入到Github的大家族里 ...
- java提高篇(二)-----理解java的三大特性之继承
在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...
- 由ASP.NET所谓前台调用后台、后台调用前台想到HTTP——实践篇(二)
在由ASP.NET所谓前台调用后台.后台调用前台想到HTTP——理论篇中描述了一下ASP.NET新手的三个问题及相关的HTTP协议内容,在由ASP.NET所谓前台调用后台.后台调用前台想到HTTP—— ...
- 可拖动的DIV续
之前写过一篇可拖动的DIV讲如何实现可拖动的元素,最后提出了几点不足,这篇文章主要就是回答着三个问题 1. 浏览器兼容性 2. 边界检查 3. 拖动卡顿.失灵 先附上上次代码 <!DOCTYPE ...
- 生成格式化的json
public static ContentResult returnJson(object obj) { var content = new ContentResult() { Content = J ...
- 【管理心得之三十八】如果“Q”不是高富帅,也吸引不了白富美“A”
场景再现=========================={美剧片段}一位老人在电话亭中,一次又一次地向公用电话投硬币,但是每一次仅是接通后就自动掉线了.老人无奈之下寻求他人拨打报修电话,但苦等了许 ...
- fir.im Weekly - 94 个 iOS 开发资源推荐
距离 2016 年还有 17 个日夜,而你和回家只隔了一张 12306 验证码的距离,祝大家抢票顺利.本期 fir.im Weekly 收集了一些优秀的 GitHub 源码.开发工具和动画特效,希望对 ...
- ui-router带参数的ui-sref配置
ui-router带参数的ui-sref配置 路由 .state('app.user_edit', { url:'user/userid/:userid', templateUrl: 'compone ...
- ios app 打包上传 app store(Application Loader)
背景:使用Xcode 上传APP, 这个 有时候很慢,构建版本需要等很长时间,所以我推荐使用Application Loader 1.使用xocd 打包,导出.ipa文件 2. OK ,跟着上面做, ...
- jxl写入excel实现数据导出功能
@RequestMapping(params = "method=export", method = RequestMethod.GET) public void exportCo ...