找回密码
 注册
搜索
热搜: 回贴

在.NET中结合AJAX使用JSON

2010-1-30 22:08| 发布者: admin| 查看: 17| 评论: 0|原作者: 夙瑶

例子和<>中的那个例子类似,不过书中的例子是用java写的server端code,我这里用.net再写一次:我就直接把客户端的code帖出来了:



无标题页












Server Response:






这上面ajax的部分就不再详解了.
重点在server端:
我在这里实现和原书中同样的目的,同样帖出全部的code:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
public partial class dojson : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
byte[] b = new byte[this.Request.InputStream.Length];
this.Request.InputStream.Read(b, 0, b.Length);
string s = System.Text.Encoding.Default.GetString(b);
Car car = (Car)JavaScriptConvert.DeserializeObject(s, typeof(Car));
string str = "";
str = "You have a " + car.Year + " " + car.Make + " " + car.Model + " that is " + car.Color + " in color.";
this.Response.Write(str);
this.Response.Flush();
this.Response.Close();
}
private class Car
...{
public Car()
...{ }
private string make;
public string Make
...{
get ...{ return make; }
set ...{ make = value; }
}
private string model;
public string Model
...{
get ...{ return model; }
set ...{ model = value; }
}
private int year;
public int Year
...{
get ...{ return year; }
set ...{ year = value; }
}
private string color;
public string Color
...{
get ...{ return color; }
set ...{ color = value; }
}
}
}
这里用了最近的Newtonsoft.Json.dll,是2007-3-20的,也就是Json.NET 1.2版,详见http://www.newtonsoft.com/blog/ 主要用了一个反序列化,JavaScriptConvert.DeserializeObject,对在javascript中的object另外在C#里定义一个class,利用JavaScriptConvert.DeserializeObject方法做反序列化,可以从json的字符串里得到Car的一个实例,这样就可以完成下面的工作了.

最新评论

相关分类

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-10-1 19:24 , Processed in 0.197812 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部