我对于何时必须使用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