本帖最后由 林洲 于 2012-9-18 11:06 编辑
json是服务端将复杂的对象序列化成为一个字符串,在浏览器端再将字符串反序列化为js可以读取的对象。
在C#中通过通过JavaScriptSerializer类就可以得到json对象,可以通过以下代码去理解:
如下服务端ashx页:- public void ProcessRequest(HttpContext context)
- {
- context.Response.ContentType = "text/plain";
- JavaScriptSerializer jss = new JavaScriptSerializer();
- //string json = jss.Serialize(new Person(){Name="tom",Age=30});//json 序列化对象
- //string json = jss.Serialize(new string[] {"张静初","曲栅栅" });//json 序列化数组
- Person[] ps = new Person[] { new Person() { Name = "张静初", Age = 30 }, new Person() { Name = "曲栅栅", Age = 30 } };
- string json = jss.Serialize(ps);//json 序列化对象数组
- context.Response.Write(json);
- }
- public bool IsReusable
- {
- get
- {
- return false;
- }
- }
- }
- public class Person
- {
- public string Name { get; set; }
- public int Age { get; set; }
- }
复制代码 在客户端html页中,可以通过如下代码去调服务端传过来的json- <script type="text/javascript">
- $(function () {
- $.post("JsonTest5.ashx", function (data, status) {
- var person = $.parseJSON(data);// 通过$.parseJSON(data)这个方法将服务端传过来的C#对象,转化为浏览器所能理解的
- alert(person[0].Name);
- //alert(person[0]);
- //alert(person.Name);
- //alert(data);
- });
- });
- </script>
复制代码 |