1. html页面全部代码

<html>
<head>
   
<title></title>

<script src="../../Scripts/jquery-1.4.1.min.js"
type="text/javascript"></script>

<script src="../../Scripts/JqueryJson.js"
type="text/javascript"></script>

<script type="text/javascript">
       
$(function () {
           
$("#json").click(function () {

             //数组里的字段的命名和类型要和一般处理程序里定义的类里的变量要一样

             //否则会出问题
               
var postdata = new Array();
               
postdata[1] = { id: 1, number: "yes" };
               
postdata[2] = { id: 2, number: "no" };

var postData = $.toJSON(postdata);  //把数组转换成json字符串

//将json字符串反序列化,这个只是测试一下数组是否转换成json字符串

var content = $.parseJSON(postData);
               
$.each(content, function () {
                   
alert(this.number);
               
});

//post提交并处理

$.post("json.ashx", { "array": postData }, function (data, status)
{
                   
if (status == "success") {
                       
alert(data);
                   
}
               
});

});
       
})
   
</script>
</head>
<body>
<input type="button" value="json"
id="json"/>
</body>
</html>

2.json.ashx页面全部代码

<%@ WebHandler Language="C#" class="json"
%>

using System;
using System.Web;
using System.Web.Script.Serialization;
using System.Collections.Generic;

public class json : IHttpHandler {
   
    public void
ProcessRequest (HttpContext context) {
       
context.Response.ContentType = "text/plain";

//接受出过来的值

string sun = context.Request["array"].ToString();

//实例化JavaScriptSerializer对象
       
JavaScriptSerializer jss = new JavaScriptSerializer();
       
List<array> a = new
List<array>();

//把json转换其他list<array>类型
       
a = jss.Deserialize(sun,
typeof(List<array>)) as
List<array>;
       
string meg=null;
       
foreach (var item in a)
       
{
           
meg += item.number;
       
}
       
context.Response.Write(meg);
    }

public class array
    {
       
public int id { get; set; }
       
public string number { get; set; }
   
}
   
public bool IsReusable {
       
get {
           
return false;
       
}
    }

}

随机推荐

  1. libcurl

    一.LibCurl基本编程框架 二.一些基本的函数 三.curl_easy_setopt函数部分选项介绍 四.curl_easy_perform 函数说明(error 状态码) 五.libcurl使用 ...

  2. 关于qt5在win7下发布 & 打包

    QT5 发布时,莫过于依赖动态链接库(dll) , 但是,QT5的动态链接库貌似都有2套 ,例如 Qt5Core (针对realese) , Qt5Cored (针对debug) ,凡事末尾带d的都是 ...

  3. Linux - 升级+编译kernel

    For upgrading present kernel to linux-next kernel, we need to follow below steps. 1. Check present k ...

  4. 我今天坑了我们公司的IT程序猿。。。

    今天在在公司邮箱发现了一个很神奇的事情! 同事的邮箱下面有个微博链接的签名. 光这个当然不是神器的,如果只是个图片加链接我也会,关键是他的这个链接和他的微博是实时交互的,他在微博上的状态会在链接里动态 ...

  5. Codeforces Round #130 (Div. 2) A. Dubstep

    题目链接: http://codeforces.com/problemset/problem/208/A A. Dubstep time limit per test:2 secondsmemory ...

  6. 使用JS启动本地应用程序、屏幕键盘

    问题描述:     现在希望在Web端使用JS调用本地应用程序 问题解决:   (1)使用JS启动本地应用程序 使用上述代码重点是创建了一个ActiveXObject的对象     参考说明:     ...

  7. javascript数学计算

    ◎Math.ceil()执行向上舍入,即它总是将数值向上舍入为最接近的整数:◎Math.floor()执行向下舍入,即它总是将数值向下舍入为最接近的整数:◎Math.round()执行标准舍入,即它总 ...

  8. PAT-乙级-1052. 卖个萌 (20)

    1052. 卖个萌 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 萌萌哒表情符号通常由“手”.“眼”. ...

  9. 【技术贴】解决Eclipse中SVN图标不显示

    在用Eclipse做开发的时候,用到了svn版本控制器,这天当我打开Eclipse的时候,发现项目里面的所有文件前的版本号以及状态图标都不显示了,即所有的svn图标不显示了,这是怎么回事,关掉Ecli ...

  10. [设计模式] 18 备忘录模式Memento Pattern

    在GOF的<设计模式:可复用面向对象软件的基础>一书中对备忘录模式是这样说的:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存 ...