在上一篇中,对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. 【BZOJ】2178: 圆的面积并

    http://www.lydsy.com/JudgeOnline/problem.php?id=2178 题意:给出n<=1000个圆,求这些圆的面积并 #include <cstdio& ...

  2. 【TYVJ】1467 - 通向聚会的道路(spfa+特殊的技巧)

    http://tyvj.cn/Problem_Show.aspx?id=1467 这题我并不是看题解a的.但是确实从题解得到了启发. 一开始我就想到一个正解,设d[i][0]表示i开始走过奇数个点的最 ...

  3. BZOJ3091: 城市旅行

    Description Input Output Sample Input 4 5 1 3 2 5 1 2 1 3 2 4 4 2 4 1 2 4 2 3 4 3 1 4 1 4 1 4 Sample ...

  4. mysql 截取指定的两个字符串之间的内容(locate,substring)

    如需转帖,请写明出处 http://blog.csdn.net/slimboy123/archive/2009/07/30/4394782.aspx 今天我同事在用mysql的时候,需要对一个字符串中 ...

  5. Struts1与Struts2的12点区别

    Struts1与Struts2的12点区别  1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类:Struts 1的一个具体问题是使用抽象类编程而不是接口.Str ...

  6. Java递归搜索指定文件夹下的匹配文件

    import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Queue; /** ...

  7. 外部调用JS文件时出现中文乱码的解决办法

    若测试网页的编码格式为:gb2312,而调用外部JS文件时出现了乱码(前提是JS文件无错误),则将调用的外部JS文件用记事本打开,然后再保存成编码格式为UTF-8的JS文件即可. 若测试网页的编码格式 ...

  8. CUDA/OpenCL 学习资料

    VS2010 NVIDIA OpenCL 开发环境配置 CUDA 在线课程 [经典培训] 全球首套中文CUDA 教程-胡文美教授主讲

  9. lucene 3.0.2 基本操作入门

    转自:Bannings http://blog.csdn.net/zhangao0086/article/details/ 我们为什么需要Lucene? 任何的的查询功能都类似,都是对文本内容的搜索, ...

  10. C#常用功能函数小结(.NET 4.5)

    今天有空,把C#常用的功能总结一下,希望对您有用.(适用于.NET Framework 4.5) 1. 把类转换为字符串(序列化为XML字符串,支持xml的namespace) using Syste ...