我有一个asp.net页面上有一个WebMethod来传递JSON到我的javascript。ASP.NET WebMethod返回JSON包裹在引号
贝娄是Web方法:
[WebMethod]
public static string getData(Dictionary<string, string> d) {
string response = "{ \"firstname\": \"John\", \"lastname\": \"Smith\" }";
return response;
}
当这个被返回到它的格式如下客户端:
{ \"d\": \"{ \"firstname\": \"John\", \"lastname\": \"Smith\" }\" }
的问题是双引号包裹在“d”的一切。有没有我在网络方法中遗漏的东西或其他一些不带引号的数据返回方式?我真的不想每次都在客户端上剔除它。另外我还看过其他文章,这没有发生。
任何帮助,将不胜感激谢谢。
PS。如果你想让函数返回一个包含JSON的字符串,那么我建议使用Risk Strahl的ToJson扩展函数[http://www.west-wind.com/weblog/posts/442969.aspx]。你的方法体可以是new {firstname =“John”}。ToJson()。 – 2010-06-08 21:17:38
感谢您的回应,这非常有趣。我没有意识到你可以在c#中创建对象。不过,我已经创建了一个框架,用于从对象构建JSON字符串,因此必须使用客户端选项。我将在未来的项目中研究服务器端选项。谢谢。 – markvpc 2010-06-09 09:42:42