JSON的客户端和服务器操作


首先感谢Hunt. C的资料,本文主要引用了他的内容(http://www.cnblogs.com/hunts/archive/2006/11/20/566694.aspx

http://www.cnblogs.com/hunts/archive/2006/11/20/566694.html

 

1. 了解JSON 

http://www.json.org 

2. 客户端(如web 网页)操作

客户端操作就是把字符串处理成一个JSON对象或者进行相反操作,这么做是因为服务器端往客户端传递的是一个字符串,比如:{"Employees":[{"ID":"1","Name":"Shuang Er"},{"ID":"2","Name":"Tai Ping Princess"}]} (韦小宝的2个老婆),客户端收到这个字符串以后,需要处理成一个JavaScript对象,从而能进一步使用,比如拼合成HTML显示出来。

 

一般来说最好借助一个JavaScript类库来处理字符串和JSON/JavaScript对象之间的转换, 我这里用的是https://github.com/douglascrockford/JSON-js,只需要下载和引用json2.js即可 

 

字符串到JSON/JavaScript对象:

var employeeInString =  '{"Employees":[{"ID":"1","Name":"ShuangEr"},{"ID":"2","Name":"TaiPing princess"}]} ';

var employeesObject = JSON.parse(employeeInString);

然后可以使用 employees对象了,比如employeesObject.employees[0].Name

(用eval()方法是可以替换parse方法的,但是eval方法有安全性问题,如果数据是用户数据的尽量不要用它。)

 

JSON/JavaScript对象到字符串:

var employeeInString = JSON.stringify(employees);


需要注意的是,如果是用jquery.ajax方法,jquery会根据服务器端返回contenttype的值自动把返回值转换成json对象。

 

 3. 服务器端操作:

这里推荐用这个类库来进行C#对象和JSON 字符串之间的转换: http://json.codeplex.com/releases/view/94220 

假设有个Employee类:

public class Employee     { 

        public int ID {get;set;}         public string Name {get;set;}

}

C#对象到JSON格式的String:

Employee employee = new Employee();             

employee.ID = 1;

employee.Name = "shuang er";  

string employeeInJSONString = JsonConvert.SerializeObject(employee);

employeeInJSONString的值为:{"ID":1,"Name":"shuang er"}

往回转化就更简单了:

Employee deserializedEmployee = (Employee)JsonConvert.DeserializeObject(

employeeInJSONString typeof(Employee));  

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM