我對於何時必須使用JSON序列化序列化對象以及什麼時候不需要(甚至是不必要的)有點困惑。什麼時候應該使用JSON序列化,爲什麼?
我花了好幾天試圖發送一個使用jQuery.ajax和JSON的簡單對象列表。 我有一個類命名的產品:
public class Product
{
public string Name;
public string Qnt;
public string Price;
}
和Web方法返回填充產品列表
List<Product> p = new List<Product>();
我以前System.Web.Script.Serialization.JavaScriptSerializer
序列化的JSON這個列表,並將其發送到客戶端作爲串,在那裏我使用jQuery
$.each(msg.d, function (index, Product) {
$('#details').append('<p>Name: ' + Product.Name
+ '<br />Quantity: ' + Product.Qnt
+ '<br />Price: ' + Product.Price + '</p>');
});
格式化它,而且它是行不通的......因爲在客戶端,我只是得到一個長字符串(它會被解析ç按字符haracter,當我使用$。每個)- 我才知道這應該解析後的第一
,經過一段時間,直到我意識到,我只是把它作爲返回Product對象列表,沒有系列化,客戶可以獲得完美的JSON格式的產品列表!
編輯: 我其實不明白:如果我連載我的名單,它返回JSON字符串格式化必須被解析之前,我可以使用它。如果我不序列化我的列表,它將返回相同的數據,但作爲對象,不是字符串,因此我可以立即使用它。 我怎麼知道我必須在我的數據上使用JSON序列化,還是始終要通過框架完成?
不要自己格式化HTML。使用jquery.tmpl。 Javascript(你寫的代碼)應該用於邏輯,而不是渲染。 – jgauffin