我有一個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