zhuan:https://www.cnblogs.com/sntetwt/p/3500740.html
代碼如下:
ArrayList eventList = new ArrayList();
for (int i = 0; i < 3;i++ )
{
Hashtable ht = new Hashtable();
ht.Add("eventid",i+1);
ht.Add("eventname","聖誕節");
ht.Add("eventdate","2012-12-25");
ht.Add("eventlocation","公司會議中心");
eventList.Add(ht);
}
JavaScriptSerializer ser = new JavaScriptSerializer();
String jsonStr=ser.Serialize(eventList);
Response.Write(jsonStr);
查看頁面,可以看到返回的結果是JSON格式的數據。實際上是一個數組,數組裏面每項是一個json對象。
[{"eventdate":"2012-12-25","eventlocation":"公司會議中心","eventname":"聖誕節","eventid":1},{"eventdate":"2012-12-25","eventlocation":"公司會議中心","eventname":"聖誕節","eventid":2},{"eventdate":"2012-12-25","eventlocation":"公司會議中心","eventname":"聖誕節","eventid":3}]
我們可以通過這個網址驗證生成的json是否正確。http://jsonlint.com/
但是我們需要注意的是,hashtable在存放數據時是無序的,所以數據並不是按照我們插入的先後順序顯示的。我們可能期望的數據格式是:
{"eventid":1","eventname":"聖誕節",eventdate":"2012-12-25","eventlocation":"公司會議中心"}
但是我們查看我們的結果不是這樣的,但是數據返回給前端之後,還是要通過JSON.parse()方法轉換爲json對象,所以不按照特定的順序,對我們開發不影響。
數據在HTTP協議上傳輸都是使用二級制流,所以數據到達客戶端,需要通過JSON.parse()。我的項目是Windows8