平时公司使用的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的更多相关文章

  1. Android从服务端获取json解析显示在客户端上面

    Android从服务端获取json解析显示在客户端上面 百度经验:jingyan.baidu.com 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Jso ...

  2. jq ajax传递json对象到服务端及contentType的用法

    目录 0.一般情况下,通过键值对的方式将参数传递到服务端 1.ajax 传递复杂json对象到服务端 2.content-Type 对asp.net mvc项目的重要性 0.一般情况下,通过键值对的方 ...

  3. 前端学习 node 快速入门 系列 —— 服务端渲染

    其他章节请看: 前端学习 node 快速入门 系列 服务端渲染 在简易版 Apache一文中,我们用 node 做了一个简单的服务器,能提供静态资源访问的能力. 对于真正的网站,页面中的数据应该来自服 ...

  4. JSON入门指南--客户端处理JSON

    在传统的Web开发过程中,前端工程师或者后台工程师会在页面上写后台的相关代码,比如在ASP.NET MVC4里面写如下代码: @Html.TextBoxFor(m => m.UserName, ...

  5. java httpclient发送json 请求 ,go服务端接收

    /***java客户端发送http请求*/package com.xx.httptest; /** * Created by yq on 16/6/27. */ import java.io.IOEx ...

  6. 【转载】Jsp页面传Json数据到服务端,转对象或集合进行数据处理

    需求:1.将页面数据带到服务端并转成对象,2.将页面的集合数据带到服务端转List实现:用ajax请求传递数据,数据格式为json JS方法: testJsonMethod = function(){ ...

  7. (九)springmvc之json的处理(服务端发送json数据到客户端)

    一.json处理方法有两种 1:导入Spring需要json的jar包.(本例使用) 使用@ResponseBody该注解用于将Controller的方法返回的对象,通过HttpMessageConv ...

  8. JSON入门指南

    JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,很适合于server与 JavaScript 的交互.本文将高速解说 JSON 格式.并通过代码演示样 ...

  9. [转]JSON 入门指南

    原文地址:http://www.ibm.com/developerworks/cn/web/wa-lo-json/ 尽管有许多宣传关于 XML 如何拥有跨平台,跨语言的优势,然而,除非应用于 Web ...

随机推荐

  1. 软件工程:vs单元测试

    vs单元测试?VS?没装呢... 那么赶紧装个吧,于是跑到这去了: http://www.msdn.hk 我下个免费社区版. 安装过程没有什么需要说明的,傻瓜式安装会吗?当然中间会耗很长时间. 由于以 ...

  2. Ubuntu install JDK适合像我的小白

    1.#下载JDK,记住保存的目录 2. sudo mkdir /usr/java 3. sudo tar zxvf jdk-7u75-linux-x64.tar.gz -C /usr/java 4. ...

  3. linux下tomcat安装

    1.先安装jdk,我们这里用yum进行安装: yum -y install java-1.7.0-openjdk* 确定是否安装成功: java -version 如果显示jdk的版本信息,说明安装成 ...

  4. zepto区别于jquery获取select表单选中的值

    在jquery下,我们获取select表单选中的值通常是通过$('select').val()来实现,这样的方式简单又明了,或者通过$('select option[selected]').text( ...

  5. 关于click和submit的笔记

    click主要用于元素的点击时的响应事件,而submit是指表单元素form的提交事件. 但是,当click加入到表单的提交按钮时,事情似乎就有点复杂,总是忘记了.这两天搜了下,又实践了一下. 主要用 ...

  6. GIT 版本控制常用命令学习汇总

    GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...

  7. myBatis中 collection 或 association 联合查询 中column 传入多个参数值

    下面是一个树形结构表自连接 联合查询 Demo <resultMap id="BaseResultMap"  type="com.maidan.daas.entit ...

  8. SQL Server 2012基本知识

    1:图形化界面设置外键 解决:table->选中表->design->选中需要设置外键的字段->选择"关系"->选择"添加"-&g ...

  9. 浏览器中CSS的BUG

    对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声明. 其它请参考:CSS hack 针对IE6,IE7,fir ...

  10. ios培训机构排名

    移动互联网的时代,智能手机的作用已经无所不在,APP在人们的生活中也起到了非常重要的作用,iOS开发行业同样受到越来越多人的关注,更多的人选择参加iOS培训机构来加入这个行列,而如何选择一个真正可以学 ...