其实第一次见到服务器端使用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:
1 public class UserInfo
2 {
3 private int _userid;
4 private string _username;
5 private string _password;
6
7 /// <summary>
8 /// 构造函数
9 /// </summary>
10 public UserInfo()
11 {
12 }
13 /// <summary>
14 /// 赋值函数
15 /// </summary>
16 /// <param name="__userid">UserId</param>
17 /// <param name="__username">UserName</param>
18 /// <param name="__password">Password</param>
19 public UserInfo(int __userid, String __username, String __password)
20 {
21 _userid = __userid;
22 _username = __username;
23 _password = __password;
24 }
25 /// <summary>
26 /// UserId
27 /// </summary>
28 public int UserId
29 {
30 get
31 {
32 return _userid;
33 }
34 set
35 {
36 _userid = value;
37 }
38 }
39
40 /// <summary>
41 /// UserName
42 /// </summary>
43 public String UserName
44 {
45 get
46 {
47 return _username;
48 }
49 set
50 {
51 _username = value;
52 }
53 }
54
55 /// <summary>
56 /// Password
57 /// </summary>
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格式的字符串
1 <%@ WebHandler Language="C#" Class="Handler" %>
2
3 using System;
4 using System.Web;
5 using Newtonsoft.Json;//引用json.net
6
7 public class Handler : IHttpHandler {
8
9 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 }
访问效果:
step 3、客服端使用ajax访问Handler.ashx:
javascript code:
1 <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
2 <script type="text/javascript">
3 $(document).ready(function() {
4 $("#divclickajax").click(function() {
5 $.getJSON("Handler.ashx", function(json) {
6 alert("JSON Data: userid:" + json.UserId + ",username:" + json.UserName + ",password:" + json.Password);
7 });
8 });
9 })
10 </script>
dom code:
1 <div id="divclickajax">点击执行ajax请求</div>
最后效果
本文主要介绍了利用json.net对对象进行序列化(反序列化)的操作,从而为客服端提供合适的数据格式,最后通过ajax访问得到结果。关于json.net的更多信息可以参见官方网站:http://james.newtonking.com/projects/json-net.aspx
分享到:
相关推荐
大模型扫盲系列——初识大模型.docx
物联网就在身边——初识物联网PPT课件.ppt
步入VB开发之门——初识Visual Basic 6.0.ppt
物联网就在身边——初识物联网 物联网(Internet of Things,简称 IoT)是指将各种信息传感设备,如射频识别(RFID)装置、红外感应器、全球定位系统、激光扫描器等种种装置与互联网结合起来而形成的一个巨大网络。...
5. **数据传输格式**: Socket.io支持多种数据格式,包括JSON。在Cocos Creator中,我们可以将游戏状态、玩家动作等信息序列化为JSON,通过Socket.io发送,服务器解析后转发给其他客户端。 6. **错误处理和重连机制*...
JSON,全称JavaScript Object Notation,是一种轻量级的数据交换格式。它以文本形式存储和传输数据,易于人类阅读和编写,同时也便于机器解析和生成。JSON基于JavaScript的一个子集,但其格式独立于任何特定语言,...
NULL 博文链接:https://twb.iteye.com/blog/265761
当我们谈论"动手学Android之二——初识Activity示例代码"时,这通常指的是一个简单的教程,旨在帮助初学者理解如何创建并运行第一个Android应用,从而开始他们的Android开发之旅。 在Android中,Activity是负责显示...
### 千里之堤,溃于蚁穴——揭密SQL注入攻击 #### 一、SQL注入漏洞与攻击 SQL注入(SQL Injection)是一种常见的安全漏洞,它发生在应用程序没有正确处理用户输入的情况下,允许攻击者通过恶意构造的SQL语句来操控...
编译后,这些源代码会被转换成`.class`字节码文件,放在`classes`或`build`目录下。开发者可以通过阅读这些源代码来学习如何在实际项目中应用文件操作。 总结起来,Java中的文件操作涉及到`File`和`Files`类的使用...
【初识投资之路】——大树系列课程 在投资领域,初学者往往面临众多困惑和挑战。大树系列课程之一——“初识投资之路”旨在引导新手投资者理解投资的基本概念,掌握必要的投资策略,以及如何逐步成长成为一名成熟的...
在小学信息技术课程中,《舞动的小猫——初识Scratch软件》是一节生动有趣的入门课,适用于四年级的学生。四年级的学生正处于形象思维发展的关键期,他们富有好奇心,乐于探索。这节课的设计考虑到了学生已有的...
在第一章节“来自苹果的编程语言——初识Swift”中,我们将学习以下几个关键知识点: 1. **Swift的历史与背景**:了解Swift的诞生背景,它是如何取代Objective-C成为苹果生态系统的首选编程语言,以及Swift的发展...
每个人都能理解的ajax 1、ajax是什么? 2、ajax可以做什么? 3、ajax基础代码
这是我在接触Azure云计算平台后学习和工作所产生的一些文章。内容为原创,供大家参考。
物联网,即Internet of Things,是指将各种设备、物品、传感器等通过互联网连接起来,形成一个巨大的网络,使得这些物体能够互相通信、交换数据,从而实现自动化管理和控制。这一概念的核心在于,通过信息化手段赋予...
此外,交换机也是常见的局域网设备,用于在局域网内部进行数据交换。 **局域网的拓扑结构**有多种,常见的包括**星型**、**总线型**和**环型**。星型拓扑是最常见的一种,其中所有设备都直接连接到中心的路由器或...
作者:夏明(涯海)创作日期:2019-09-19专栏地址:【稳定大于一切】狭义上的链路追踪(Tracing),是指跟踪请求在分布式系统中的流转路径与状态,协助开
续———初识HTML!!!.md