JSON.stringify实例应用—将对象转换成JSON类型进行AJAX异步传值

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

在进jQuery AJAX异步传值时,用JSON.stringify()函数将数组转换成(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 = 25;
                data.tel = "123456";
                var data1 = {};
                data1.name = "Tang";
                data1.age = 27;
                data1.tel = "987654";
                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 > 0) {

                            }
                        }
                    },
                    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.调试结果:

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

时间: 2024-08-17 14:13:08

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

JSON对象转换成JSON字符串

1.问题背景 有一个json对象,需要将其转换成json字符串 JSON.stringify(obj) 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm

Javascript-自定义对象转换成JSon后如何再转换回自定义对象

man是自定义的对象,使用var tim = JSON.stringify(man); var newman=JSON.parse(tim)后newman的类型是"object"并不是一个Man,怎么才能变回一个Man呢? function Man() { this._type = "man"; this.name=""; this.run = function () { alert("run!!"); alert(this.

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

https://github.com/casatwy/AnyJson 注意:经过测试,不能够直接处理字典或者数组 主要源码的注释 AJTransformer.h 与 AJTransformer.m // // AJTransformer.h // AnyJson // // Created by casa on 14-9-19. // Copyright (c) 2014年 casa. All rights reserved. // #import <Foundation/Foundation.

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

var resultJson = new { records = rowCount, page = pageindex, //总页数=(总页数+页大小-1)/页大小 total = (rowCount + pagesize - 1) / pagesize,//总页数 rows = data.ToList<Web.Entity.Db.Table1Bean>(), }; //JsonResult jr = Json(resultJson, "application/json",

C#自定义将各种对象转换成JSON格式的类

这个C#封装类可以用于将各种格式的数据转换成JSON格式,包括List转换成Json,普通集合转换Json ,DataSet转换为Json ,Datatable转换为Json ,DataReader转换为Json等,如果你需要将对象转换成JSON,可以使用这个类. using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Reflection; using

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

方法一: 程序集:  System.Web.Extensions; 命名空间:System.Web.Script.Serialization; 最重要的类:JavaScriptSerializer //实例化 JavaScriptSerializer js = new JavaScriptSerializer(); js.Serialize();//将对象转换成json字符串:    序列号 js.Deserialize();//将json字符串转换成对象:  反序列化 方法二: 程序集:New

python 将类对象转换成json

如果将字典转换成json,想必都很熟悉了,如果在进阶点,将class类转换成json对象该如何操作了? 1,先定义一个类 #定义一个Student类 class Student(object): def __init__(self,name,age,score): self.name = name self.age = age self.score = score 2,在实例化Student类,传入3个参数 #实例化这个对象 s = Student('hello',20,80) 3,利用json

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

在用ajax获得分页数据时,无法将获取的值赋值给input标签,在修改用户信息时不显示用户已经注册的信息,百度可知 springmvc处理分页数据返回的对象时,无法直接将对象转换成json,会报org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type:错误, 需要在springmvc返回前先转换为json 步骤如下: 1.添加依赖(

SpringMVC 中List 对象转换成Json格式 List对象中属性为NUll解决

问题起因:今天在做一个EasyUI 同步树的时候,在SpringMVC中用 @ResponseBody标签将List<tree> 集合转换成Json数据的时候,出现一些原因. 问题描述:1.tree对象有个List<tree>属性需要为空,这个是做树用的,下级没值当然不能有null了 代码: [{"id":1,"text":"权限管理 ","state":"closed  ",&qu