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