在Ajax调用中传递Json.Net对象

时间:2014-01-06 23:03:04

标签: javascript jquery ajax json json.net

在以下链接中,使用 json2.js javascript库在Ajax调用中传递.Net 对象

http://encosia.com/using-complex-types-to-make-calling-services-less-complex/

使用Json.Net javascript库是否有类似的方法?我找不到任何东西......

我知道如何使用这个库序列化和反序列化对象,但这一切都是在服务器端完成的。

如果我需要在客户端序列化一个类似于上述链接中的调用的对象,该怎么办?使用Json.Net库可以获得什么?

1 个答案:

答案 0 :(得分:1)

我认为你在这里有一些误解。 Json.Net是在C#中为.NET编写的第三方JSON库。根本没有javascript组件。它通常在服务器上用于反序列化来自客户端的请求,并将响应序列化,客户端可能是也可能不是基于javascript的。该库也可以在基于C#的客户端中使用。

您引用的文章演示了如何使用json2.js库中的stringify方法创建javascript对象并将其序列化为JSON。然后使用jQuery ajax调用将生成的序列化字符串发送到服务器,并由ASMX WebMethod处理。

我必须指出那篇文章写于2009年6月。现在(差不多5年后),most browsers have built-in support for JSON serialization使用了文章中显示的相同stringify方法语法。因此,您甚至不需要第三方库,只需直接调用JSON.stringify()即可。对于那些不支持它的浏览器,您仍然可以使用json2.js。

同样,服务器端可用的技术比ASMX更新,更好,例如ASP.NET Web API,默认情况下在幕后使用Json.Net。