C# json asp.net Web服务调用错误

C# json asp.net Web服务调用错误,c#,javascript,ajax,web-services,json,C#,Javascript,Ajax,Web Services,Json,我正试图将一些带有ajax请求的信息发布到我用一些json数据编写的Web服务中 下面是接收它的方法使用的C#参数 public bool AdvancedIWant(string WantTitle, int WantCategory, string WantBlogID, float WantPrice, string WantComments) 当我直接进入asmx控件并输入值时,它工作得很好,所以我猜它与我的json格式有关。。。 我用firebug查看ajax标题,这是我在博

我正试图将一些带有ajax请求的信息发布到我用一些json数据编写的Web服务中

下面是接收它的方法使用的C#参数

public bool AdvancedIWant(string WantTitle, 
int WantCategory, 
string WantBlogID, 
float WantPrice, 
string WantComments)
当我直接进入asmx控件并输入值时,它工作得很好,所以我猜它与我的json格式有关。。。 我用firebug查看ajax标题,这是我在博文中看到的

JSON WantComments“sdfa”源 {“WantTitle”:“SDF”}, {“WantCategory”:1},{“WantBlog”: “FCA184D9-9F50-473F-922D-04E0EE004AB8”, {“WantPrice”:5.55},{“WantComments”: “sdfa”}

这是我们的回应

{“Message”:“无效的JSON原语: {\'WantCategory\':1},{\'WantBlog\': \“FCA184D9-9F50-473F-922D-04E0EE004AB8\”, {\'WantPrice\':5.55}, {“WantComments\”: \“sdfa\”}.,“StackTrace”:“在 System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(字符串 输入,Int32 depthLimit, JavaScriptSerializer序列化程序)\r\n
在 System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer 序列化程序,字符串输入,类型, Int32 depthLimit)\r\n位于 System.Web.Script.Serialization.JavaScriptSerializer.Deserialize[T](字符串 输入)\r\n位于 System.Web.Script.Services.RestHandler.GetRawParamsFromPostRequest(HttpContext 上下文,JavaScriptSerializer 序列化程序)\r\n位于 System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData,HttpContext上下文)\r\n
在 System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext 上下文,WebServiceMethodData methodData)”,“ExceptionType”:“System.ArgumentException”}


我猜我的json格式是无效的??我不确定我可能只是在凌晨2点错过了一些东西。

你发到服务器上的帖子不应该是这样的吗:

{"WantTitle": "sdfs", "WantCategory": 1, "WantBlog": "FCA184D9-9F50-473F-922D-04E0EE004AB8", "WantPrice": 5.55, "WantComments": "sdfa"}
将上述内容与您的JSON进行比较。我觉得你用错误的格式构建了JSON


进一步注意
WantBlog
,在服务中,您的参数显示
WantBlogId

,这完全解决了问题,非常感谢!我现在可以睡觉了:D