在上一篇中,对JSON.stringify()方法有了初步的认识,并且做了一些简单的例子。本篇将进一步将JSON.stringify用在复杂些的实例中,例如如下需求:

在进jQuery AJAX异步传值时,用JSON.stringify()函数将数组转换成json类型(JSON:JavaScript Object Notation 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式),再传到一般处理程序中,在一般处理程序中,把得到的值进行反序列化Deserialize<T>(value)操作。

1.html代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="js/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(function () {
$("#btn").click(function () {
var myArray = new Array();
var data = {};
data.name = "Tom";
data.age = ;
data.tel = "";
var data1 = {};
data1.name = "Tang";
data1.age = ;
data1.tel = "";
myArray.push(data);
myArray.push(data1);
//alert(JSON.stringify(array)); var params = {};
params.action = "OperationArray";
params.array = JSON.stringify(myArray);
$.ajax({
url: "JSONstringify.ashx",
data: params,
type: "POST",
dataType: "json",
success: function (msg) {
if (msg.OperateResult == "success") {
if (msg.ResponseData.length > ) { }
}
},
error: function (e) {
alert("请求处理出错");
}
});
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<input type="button" id="btn" value="确定" />
</form>
</body>
</html>

html代码

2.一般处理程序代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Script.Serialization; namespace JSONstringfy
{
/// <summary>
/// JSONstringify 的摘要说明
/// </summary>
public class JSONstringify : IHttpHandler
{
private JavaScriptSerializer json = new JavaScriptSerializer();
private string operateSuccess = "success";
private string operateFailed = "false";
public void ProcessRequest(HttpContext context)
{
string jsonObject = string.Empty;
string action = context.Request["action"];
context.Response.ContentType = "application/json;charset=utf-8";
if (action == "OperationArray")
jsonObject = OperationArray(context); context.Response.Write(jsonObject);
} private string OperationArray(HttpContext context)
{
try
{
var array = context.Request["array"];
var arrayList = json.Deserialize<List<JSON_user>>(array);//反序列化,得到集合 foreach (var list in arrayList)
{
//这里可以获得数据,可以和数据库进行交互,传到前台,
//本例子这里省略
} return json.Serialize(new { OperateResult = operateSuccess });
}
catch (Exception e)
{
return json.Serialize(new { OperateResult = operateFailed, ResponseData = e.Message });
}
} public bool IsReusable
{
get
{
return false;
}
}
}
}

ashx代码

3.JSON_user类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace JSONstringfy
{
public class JSON_user
{
public string Name { get; set; } public string Age { get; set; } public string Tel { get; set; }
}
}

JSON_user

4.调试结果:

以上两图可以看到两条数据

JSON.stringify实例应用—将对象转换成JSON类型进行AJAX异步传值的更多相关文章

  1. JSON.stringify()的使用--将string转换成json

    ===========================================================1. ====JSON.stringify()================== ...

  2. json 字符串转换成对象,对象转换成json字符串

    json   字符串转换成对象,对象转换成json字符串 前端: 方法一: parseJSON方法:   [注意jquery版本问题] var str = '{"name":&qu ...

  3. JSON对象转换成JSON字符串

    1.问题背景 有一个json对象,需要将其转换成json字符串 JSON.stringify(obj) 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DT ...

  4. 在js中将map对象转换成json 和 js对cookie的操作

    在js中将map对象转换成json //msp转objectlet obj= Object.create(null); for (let[k,v] of map) { obj[k] = v; }//o ...

  5. Newtonsoft.Json 把对象转换成json字符串

    var resultJson = new { records = rowCount, page = pageindex, //总页数=(总页数+页大小-1)/页大小 total = (rowCount ...

  6. DataTabel DataSet 对象 转换成json

    public class DataTableConvertJson    { #region dataTable转换成Json格式        /// <summary>         ...

  7. Java对象转换成xml对象和Java对象转换成JSON对象

    1.把Java对象转换成JSON对象 apache提供的json-lib小工具,它可以方便的使用Java语言来创建JSON字符串.也可以把JavaBean转换成JSON字符串. json-lib的核心 ...

  8. 将Model对象转换成json文本或者json二进制文件

    将Model对象转换成json文本或者json二进制文件 https://github.com/casatwy/AnyJson 注意:经过测试,不能够直接处理字典或者数组 主要源码的注释 AJTran ...

  9. SpringMVC分页查询无法直接将对象转换成json的解决办法(报org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type:错)

    在用ajax获得分页数据时,无法将获取的值赋值给input标签,在修改用户信息时不显示用户已经注册的信息,百度可知 springmvc处理分页数据返回的对象时,无法直接将对象转换成json,会报org ...

随机推荐

  1. CentOS6.4 安装Nagios 并监控端口

    1.下载所需文件nagios-3.4.3.tar.gz,nagios-plugins-1.4.15.tar.gz,nrpe-2.14.tar.gz,sendEmail-v1.56.tar.gz 下载地 ...

  2. TYVJ P1074 武士风度的牛 Label:跳马问题

    背景 农民John有很多牛,他想交易其中一头被Don称为The Knight的牛.这头牛有一个独一无二的超能力,在农场里像Knight一样地跳(就是我们熟悉的象棋中马的走法).虽然这头神奇的牛不能跳到 ...

  3. COJ0702 数学(三)

    数学(三) 难度级别:D: 运行时间限制:1800ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 给出两个正整数a,b,求a*b. 输入 输入共两行,每行是一个正整 ...

  4. C#页面添加提交数据后跳出小弹窗的功能

    很简单,将小弹窗部分写进一个div,利用div的visible属性去控制是否显示,首先默认为false; 当后台程序执行到插入数据完成后,设置session状态值为‘yes’ 判断,当session状 ...

  5. LeetCode-Repeated DNA Sequences (位图算法减少内存)

    Repeated DNA Sequences All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, ...

  6. for循环下九九乘法表

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. hdu Inverting Cups

    这题需要分类讨论: 第一种情况: n为奇数m为偶数的情况无解,因为m为偶数,每次翻转将把从正面翻到反面的个数x减去从反面翻到正面的个数y,得到的数必定为偶数.因为x+y为偶数,x-y也为偶数.而总个数 ...

  8. gnuplotx轴的logscale显示

    假设数据是这样子的: gnuplot脚本如下: set terminal postscript eps color enhanced set log x set log y set format x ...

  9. setInterval 启用和停止,见代码

    <title></title>    <script src="Scripts/jquery-1.4.1-vsdoc.js" type="t ...

  10. [kuangbin带你飞]专题八 生成树 - 次小生成树部分

    百度了好多自学到了次小生成树 理解后其实也很简单 求最小生成树的办法目前遇到了两种 1 prim 记录下两点之间连线中的最长段 F[i][k] 之后枚举两点 若两点之间存在没有在最小生成树中的边 那么 ...