关于JSON的问题

时间:2011-01-13 11:46:30

标签: javascript asp.net ajax json

如果我在我的数据库中有一个名为用户的表,其中包含名称,Id,年龄字段,我想获取这些数据并将其作为JSON序列化放入var中,那么我想发送它到javascript页面改变它我想要的。我需要知道如何将这些数据作为JSON放入var中,如何读取javascript文件中的数据(如何处理每个数据。例如:array [name])!!!?
哪个东西更好地处理asp.net代码中的这些数据然后在javascript中发送它或将其发送到javascript然后处理!!?谢谢你:D

2 个答案:

答案 0 :(得分:1)

如果.NET中有对象,可以使用JavaScriptSerializer

对其进行序列化
List<User> myUsers = GetAllUsers();
string userJson = new JavaScriptSerializer().Serialize(myUsers);

这样您就不必担心转义引号或任何内容。现在您有了一个字符串,您可以将其提供给您的javascript:

var userJson = ... // the JSON string
var myUsers = JSON.parse(userJson);

反过来说,你可能有一个javascript对象,你要传递给服务器:

var myUsers = ... // a JS object
var userJson = JSON.stringify(myUsers);

如果将字符串userJson传递给服务器,则可以对其进行反序列化。如果您知道JS对象完全对应于属性名称,.NET对象或.NET对象数组,那么您可以将其反序列化为:

List<User> myUsers = new JavaScriptSerializer().Deserialize<List<User>>(userJson);

如果没有可以直接映射到JS对象结构的.NET对象,则必须使用

object myUsers = new JavaScriptSerializer().DeserializeObject(userJson);

答案 1 :(得分:0)

4guysfromrolla有很棒的文章会告诉你它的来龙去脉。

http://www.4guysfromrolla.com/articles/102010-1.aspx

http://www.4guysfromrolla.com/articles/040809-1.aspx

您可以查看这些内容,以便完全理解。

此外,如果您只想在UI中显示查询结果,那么为什么不使用gridview或转发器控件。