如何在响应时将C#类序列化为Javascript
本文关键字:序列化 Javascript 响应 | 更新日期: 2023-09-27 18:27:19
我有一个这样的类:
public class Person
{
public string Address { get; set; }
public string Name { get; set; }
public string Surname { get; set; }
public Person()
{
}
}
在服务器端,我填充这个类的一些实例,并将它们添加到IEnumerable<Person>
中。现在,在客户端,我希望以javascript(json?)的形式接收这个集合,就像web服务和序列化一样。([Serializable()]
)
在.NET 3.5中发出Web表单请求后,如何在正常响应中执行此操作?
您可以使用Json.net:
List<Person> persons = new List<Person>();
persons.Add(new Person() { Address = "5 Foo Street", Name = "Fed", Surname = "Fish" });
persons.Add(new Person() { Address = "10 Bar Road", Name = "Joe", Surname = "Smith" });
string output = JsonConvert.SerializeObject(persons);
您可以使用JavaScriptSerializer将对象序列化为JSON。
或者,更好的是,创建一个用ScriptService标记的WebService。
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class SimpleWebService : System.Web.Services.WebService
{
[WebMethod]
public string GetServerTime()
{
string serverTime =
String.Format("The current time is {0}.", DateTime.Now);
return serverTime;
}
}