找回密码
 立即注册
首页 业界区 业界 【原】轻量级的数据交换格式——初识Json(下) ...

【原】轻量级的数据交换格式——初识Json(下)

左丘雅秀 2025-5-29 20:16:55
其实第一次见到服务器端使用json是在用asp.net mvc做项目的时候,在asp.net mvc 1.0中Controller可以直接返回给视图一个json对象。但当时大部分时候是返回一个ViewData,对json没有使用过。
下面就介绍在.net环境下解析json的一个api——json.net。我们使用Json.net来实现JSON数据的序列化和反序列化。下载地址:http://www.newtonsoft.com/downloads/json/json.zip
以下实例介绍了一个与jquery结合实现的ajax调用服务器端解析的json,并显示到浏览器。
step 1、先建立一个数据库表的实体模型(往往在分层开发中经常这样做):
UserInfo.cs:
public class UserInfo
{
    private int _userid;
    private string _username;
    private string _password;

    /// 
    /// 构造函数
    /// 
10     public UserInfo()
11     {
12     }
13     /// 
14     /// 赋值函数
15     /// 
16     /// UserId
17     /// UserName
18     /// Password
19     public UserInfo(int __userid, String __username, String __password)
20     {
21         _userid = __userid;
22         _username = __username;
23         _password = __password;
24     }
25     /// 
26     /// UserId
27     /// 
28     public int UserId
29     {
30         get
31         {
32             return _userid;
33         }
34         set
35         {
36             _userid = value;
37         }
38     }
39
40     /// 
41     /// UserName
42     /// 
43     public String UserName
44     {
45         get
46         {
47             return _username;
48         }
49         set
50         {
51             _username = value;
52         }
53     }
54
55     /// 
56     /// Password
57     /// 
58     public String Password
59     {
60         get
61         {
62             return _password;
63         }
64         set
65         {
66             _password = value;
67         }
68     }       
69 }
step 2、然后建立一个Handler.ashx,用于返回一个json格式的字符串


using System;
using System.Web;
using Newtonsoft.Json;//引用json.net

public class Handler : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {
10         context.Response.ContentType = "text/plain";
11         UserInfo userInfo = new UserInfo(1,"liping","123");
12         string strJson = JavaScriptConvert.SerializeObject(userInfo);//将对象序列化为json格式的字符串
13         //UserInfo userByJson = (UserInfo)JavaScriptConvert.DeserializeObject(strJson, typeof(UserInfo));//通过这样将json格式字符串反序列化成对象
14         context.Response.Write(strJson);
15     }
16  
17     public bool IsReusable {
18         get {
19             return false;
20         }
21     }
22
23 }

 
访问效果:
1.png

step 3、客服端使用ajax访问Handler.ashx:
javascript code:

  
  dom code:
1 点击执行ajax请求
 最后效果  
2.png

本文主要介绍了利用json.net对对象进行序列化(反序列化)的操作,从而为客服端提供合适的数据格式,最后通过ajax访问得到结果。关于json.net的更多信息可以参见官方网站:http://james.newtonking.com/projects/json-net.aspx
另:有哪位哥们能告诉我live writer上怎样可以让代码折叠起来?

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册