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. ServiceStack.OrmLite 调用存储过程

    最近在做关于ServiceStack.OrmLite调用存储过程时,有问题.发现ServiceStack.OrmLite不能调用存储过程,或者说不能实现我想要的需求.在做分页查询时,我需要传入参数传出 ...

  2. [System.Net]模拟Web请求编写简易单词查询客户端

    demo: 我就不上传了 前言 在实际生活中,网络请求的应用极其常见,比如使用浏览器,程序中我们还要调用webservice.那么浏览器是怎么请求网络资源的呢?不用它可以自己请求不? 答案是可以的. ...

  3. PHP中日期时间函数date()用法总结

    date()是我们常用的一个日期时间函数,下面我来总结一下关于date()函数的各种形式的用法,有需要学习的朋友可参考. 格式化日期date() 函数的第一个参数规定了如何格式化日期/时间.它使用字母 ...

  4. 内存管理、ARC

    内存管理 一.基本原理 1.什么是内存管理 移动设备的内存极其有限,每个app所能占用的内存是有限制的 当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空间.比如回收一 ...

  5. Aspose 导出excel小demo

    //转为pdf         private void CelltoPDF(string cellPath, string pdfPath)         {             Workbo ...

  6. 动画(Animation) 之 (闪烁、左右摇摆、上下晃动等效果)

    左右晃动的效果: (这边显示没那么流畅) 一.续播  (不知道取什么名字好,就是先播放动画A, 接着播放动画B) 有两种方式. 第一种,分别动画两个动画,A和B, 然后先播放动画A,设置A 的 Ani ...

  7. android 有时候stroke不起作用

    如下: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android=&quo ...

  8. tar命令,转来等用

    tar 解压缩命令 tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令 ...

  9. WinForm 中ComboBox 绑定总结

    1.DataTable绑定 用DataTable直接绑定,只需要设置DataSource.DisplayMember.ValueMember三个属性即可. this.cmbConsume.DataSo ...

  10. POJ 1922

    #include<iostream>cheng da cai zi 11.21 //#include<stdio.h> #include<math.h> using ...