在上一篇中,对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. VTK 6 和 VTK 5 的不同

    Overview Replacement of SetInput() with SetInputData() and SetInputConnection() Removal of GetProduc ...

  2. 启用VTX技术支持启动android的虚拟机 - 报错

    第一次启用VTX技术支持启动android的虚拟机,启动时提示如下错误: Starting emulator for AVD 'AVD_for_Android_TV_1080p_by_Google'e ...

  3. mac使用指南:brew的安装

    官网 http://brew.sh/ 安装并且下载brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/ ...

  4. Huffman

    huffman是非常基础的压缩算法. 实现霍夫曼树的方式有很多种,可以使用优先队列(Priority Queue)简单达成这个过程,给与权重较低的符号较高的优先级(Priority),算法如下: ⒈把 ...

  5. 通过IP的方式建立PSSession

    Import-Module PoshWSUS Connect-PoshWSUSServer -WsusServer cnhzsrv09 Get-PoshWSUSClient | Select-Obje ...

  6. 【iCore2模块】VGA模块样板谍照!

    基于 iCore2 双核心板的 VGA模块样机做出来好久了,经过一个多月的努力奋战,该模块的代码已经写完,硬件也测试完毕,性能很好.下面贴几张图: 照片一: 为了节约时间,打样用的是绿色的板子,不过批 ...

  7. Vi问题

    ,ubuntu11.10下vi编辑器按i,左下方没有出现“输入模式”或者“insert”.在桌面环境下,用ctrl+alt+t调出命令行打开是这样,在第一控制台ctrl+alt+F1下打开,也是这样, ...

  8. 归纳整理 PHP大神的十大优良习惯

    2015年03月04日11:26 来源:程序师 作者:TECHUG 编辑:覃里 查看全文 赞(0)评论(0) 分享 标签: PHP , 编程指南 , PHP开源项目 [IT168 资讯] 1.多阅读手 ...

  9. 【IOS笔记】Delegation

    Delegation Delegation is a simple and powerful pattern in which one object in a program acts on beha ...

  10. P1379 八数码问题

    aoapc上的八数码问题,在luogu上也有类似的题,p1379,经典题目,lrj给出了一个算法,同时给出了三种判重的方法.本来想用std::queue改写一下,但是出了各种问题,只好抄代码ac掉这道 ...