SilverLight学习笔记--Silverligh之Json的通讯传递?还是原文看的比较清楚。http://www.cnblogs.com/wsdj-IT
SilverLight学习笔记--Silverligh之Json的通讯传递
?还是原文看的比较清楚。http://www.cnblogs.com/wsdj-ITtech/archive/2009/08/27/1554787.html
?
?? JSON是一种轻量级的数据传输类型,它可以通过序列化把一个简单对象转换为一个简单的字符串,在网络中进行传输,然后在客户端进行反序列化,得到原始对象.功能上和XML差不多,只是它的体积小,在客户端解析方便,所以被广泛使用.
?? 我们可以使用Silverlight提供的三个类来完成JSON数据的传递和接收。它们是:???
?(二) 实现Json数据的传递。
?
1、建立用户界面?Page.xaml代码如下:
?
?
2、服务器端:我们新建一个Handler(在本例命名为:CustomerJsonHandler.ashx)专门负责响应客户端发来的请求,在服务器端生成Json格式的结果数据并返回给客户端。
? 2.1、生成将要传递的类对象实例
????????获取需要返回的数据Person#region?获取需要返回的数据Person
????????public?Person?GetRetDataPerson()
????????
{
????????????Person?PWang?=?new?Person()?
{?Name?=?"WangXiangMin",?Age?=?25,?Address?=?"China"?};
????????????return?PWang;
????????}
????????#endregion
????????获取需要返回的数据Customers(Person类数组)#region?获取需要返回的数据Customers(Person类数组)
????????public?Customers?GetRetDataCustomers()
????????
{
????????????Customers?myCustomer?=?new?Customers();
????????????Person?PWang?=?new?Person()?
{?Name?=?"WangXiangMin",?Age?=?25,?Address?=?"China"?};
????????????Person?PJack?=?new?Person()?
{?Name?=?"Jack",?Age?=?18,?Address?=?"USA"?};
????????????Person?PTom?=?new?Person()?
{?Name?=?"Tom",?Age?=?32,?Address?=?"OZ"?};
????????????List<Person>?MyPersonList?=?new?List<Person>?
????????????
{
????????????????PWang,?
????????????????PJack,?
????????????????PTom
?????????????};
????????????myCustomer.Persons?=?MyPersonList;
????????????return?myCustomer;
????????}
????????#endregion
????????获取需要返回的数据PersonT(其属性Address是另一个类Address)#region?获取需要返回的数据PersonT(其属性Address是另一个类Address)
????????public?PersonT?GetRetDataPersonT()
????????
{
????????????Address?HongKongAddress?=?new?Address()?
{?city?=?"HongKong",?country?=?"China"?};
????????????PersonT?PWang?=?new?PersonT()?
{?Name?=?"WangXiangMin",?Age?=?25,?Address=HongKongAddress};
????????????return?PWang;
????????}
????????#endregion
? 2.2、并把它们序列化成Json格式的数据
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Web;
using?System.IO;
using?System.Text;
using?System.Runtime.Serialization.Json;//需要引用?System.ServiceModel.DLL
http://www.c