为什么需要将JSON作为字符串发送,同时将参数从jQuery传递给WCF

问题描述:

直到我还在使用httpHandlers执行所有服务器端逻辑,并且这些httpHandler被jQuery $ .Ajax调用。为什么需要将JSON作为字符串发送,同时将参数从jQuery传递给WCF

在这种情况下,传递任何参数我用来传递纯JSON对象(显然键值对),它被自动翻译为服务端的Request.Form键。

现在,当我试图从jQuery调用WCF端点时,我知道要以JSON格式传递任何参数,我必须将其作为字符串传递给JSON.stringify。

但我想知道的是,什么是传递字符串而不是JSON对象的需要。为什么WCF不允许直接传递JSON对象?如果这是因为JSON对象可以被调节,那么这也可能发生在一个字符串上。

任何想法???

感谢, Pranav考希克

PranavKaushik.Wordpress.com

Pranav,原因是WCF的JSON解析是所有.NET供电在服务器端,因此,预计.NET风格的字符串输入进行有效的解析。非字符串化的JSON输入本质上会破坏.NET的默认解析机制,并强制WCF编码器/格式化堆栈重新工作,然后重新解释其获取的JSON。