JSON入门指南--服务端处理JSON
平时公司使用的ASP.NET MVC3来开发Web项目,其实在ASP.NET中已经原生的支持JSON。所以基本不需要引进Newtonsoft.Json.dll。下面看在MVC4中,后台生成JSON数据,前端使用Ajax调用。然后就是前端使用POST请求,发送JSON格式,后台程序来处理。
1.后台生成JSON格式数据,前端使用Ajax调用
后台代码:
public JsonResult GetList()
{
ArrayList eventlist = new ArrayList();
for (int i = ; i < ; i++)
{
Hashtable ht = new Hashtable();
ht.Add("eventid", i + );
ht.Add("eventname", "测试活动");
ht.Add("eventdata", "2014-04-02");
ht.Add("eventlocation", "公司");
eventlist.Add(ht);
}
return Json(new { list = eventlist, count = eventlist.Count }, JsonRequestBehavior.AllowGet);
}
前端调用代码:
$.ajax({
url: "/Home/GetList",
success: function (data) {
var eventlist =data.list;
for(var index in eventlist){
console.log(eventlist[index].eventname);
}
console.log(data.count);
}
});
2.前端使用POST请求,发送JSON格式数据给后台
页面放置一个button,代码片段为:<input type="button" id="btn_send" value="Send" />
$("#btn_send").click(function () {
var person1 = new Object();
person1.Name = "Superman";
person1.Age = 20;
var person2 = new Object();
person2.Name = "BBB";
person2.Age = 22;
var arr = [];
arr.push(person1);
arr.push(person2);
$.ajax({
url: '/Home/AddUser',
type: "POST",
data: JSON.stringify(arr),
success: function (data) {
console.log(data);
}
});
});
后台代码:
[HttpPost]
public JsonResult AddUser()
{
string json = string.Empty;
using(var reader=new StreamReader(HttpContext.Request.InputStream))
{
json = reader.ReadToEnd();
}
bool result = false;
string message = string.Empty; var personlist = new JavaScriptSerializer().Deserialize<List<Person>>(json);
foreach(Person p in personlist){
result = true;
message += p.Name + ":" + p.Age;
}
return Json(new { result=result,message=message});
}
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
很多人会问我,使用了MVC3,为什么不在前端使用Model,然后绑定数据,这样后台处理方便,而已编辑的时候,前端基本不要做什么事情。其实这样考虑是为了把前端和后台完全分离出来,前端使用AngularJS做数据的绑定。前端和后台数据的传输格式就使用JSON。后面我们会研究ASP.NET Web API如何做到前端和后台完全分离的。
参考网址: http://www.dotblogs.com.tw/kevintan1983/archive/2012/12/26/86013.aspx
JSON入门指南--服务端处理JSON的更多相关文章
- Android从服务端获取json解析显示在客户端上面
Android从服务端获取json解析显示在客户端上面 百度经验:jingyan.baidu.com 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Jso ...
- jq ajax传递json对象到服务端及contentType的用法
目录 0.一般情况下,通过键值对的方式将参数传递到服务端 1.ajax 传递复杂json对象到服务端 2.content-Type 对asp.net mvc项目的重要性 0.一般情况下,通过键值对的方 ...
- 前端学习 node 快速入门 系列 —— 服务端渲染
其他章节请看: 前端学习 node 快速入门 系列 服务端渲染 在简易版 Apache一文中,我们用 node 做了一个简单的服务器,能提供静态资源访问的能力. 对于真正的网站,页面中的数据应该来自服 ...
- JSON入门指南--客户端处理JSON
在传统的Web开发过程中,前端工程师或者后台工程师会在页面上写后台的相关代码,比如在ASP.NET MVC4里面写如下代码: @Html.TextBoxFor(m => m.UserName, ...
- java httpclient发送json 请求 ,go服务端接收
/***java客户端发送http请求*/package com.xx.httptest; /** * Created by yq on 16/6/27. */ import java.io.IOEx ...
- 【转载】Jsp页面传Json数据到服务端,转对象或集合进行数据处理
需求:1.将页面数据带到服务端并转成对象,2.将页面的集合数据带到服务端转List实现:用ajax请求传递数据,数据格式为json JS方法: testJsonMethod = function(){ ...
- (九)springmvc之json的处理(服务端发送json数据到客户端)
一.json处理方法有两种 1:导入Spring需要json的jar包.(本例使用) 使用@ResponseBody该注解用于将Controller的方法返回的对象,通过HttpMessageConv ...
- JSON入门指南
JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,很适合于server与 JavaScript 的交互.本文将高速解说 JSON 格式.并通过代码演示样 ...
- [转]JSON 入门指南
原文地址:http://www.ibm.com/developerworks/cn/web/wa-lo-json/ 尽管有许多宣传关于 XML 如何拥有跨平台,跨语言的优势,然而,除非应用于 Web ...
随机推荐
- 软件工程:vs单元测试
vs单元测试?VS?没装呢... 那么赶紧装个吧,于是跑到这去了: http://www.msdn.hk 我下个免费社区版. 安装过程没有什么需要说明的,傻瓜式安装会吗?当然中间会耗很长时间. 由于以 ...
- Ubuntu install JDK适合像我的小白
1.#下载JDK,记住保存的目录 2. sudo mkdir /usr/java 3. sudo tar zxvf jdk-7u75-linux-x64.tar.gz -C /usr/java 4. ...
- linux下tomcat安装
1.先安装jdk,我们这里用yum进行安装: yum -y install java-1.7.0-openjdk* 确定是否安装成功: java -version 如果显示jdk的版本信息,说明安装成 ...
- zepto区别于jquery获取select表单选中的值
在jquery下,我们获取select表单选中的值通常是通过$('select').val()来实现,这样的方式简单又明了,或者通过$('select option[selected]').text( ...
- 关于click和submit的笔记
click主要用于元素的点击时的响应事件,而submit是指表单元素form的提交事件. 但是,当click加入到表单的提交按钮时,事情似乎就有点复杂,总是忘记了.这两天搜了下,又实践了一下. 主要用 ...
- GIT 版本控制常用命令学习汇总
GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...
- myBatis中 collection 或 association 联合查询 中column 传入多个参数值
下面是一个树形结构表自连接 联合查询 Demo <resultMap id="BaseResultMap" type="com.maidan.daas.entit ...
- SQL Server 2012基本知识
1:图形化界面设置外键 解决:table->选中表->design->选中需要设置外键的字段->选择"关系"->选择"添加"-&g ...
- 浏览器中CSS的BUG
对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声明. 其它请参考:CSS hack 针对IE6,IE7,fir ...
- ios培训机构排名
移动互联网的时代,智能手机的作用已经无所不在,APP在人们的生活中也起到了非常重要的作用,iOS开发行业同样受到越来越多人的关注,更多的人选择参加iOS培训机构来加入这个行列,而如何选择一个真正可以学 ...