返回对象而不是json_encode

时间:2012-10-07 20:41:48

标签: php jquery ajax json webmethod

所以,我发现将我的WebMethod As Object,Return Dictionary而不是As String,返回JavaScriptSerializer.Serialized()会将JSON的大小减少大约20%。

是的,我知道对于那些为消费者服务的传统网络用户来说这不是什么大问题(过去)并且有几个kb会很大,但是对于你想要提供服务的B2B来说这是巨大的对于您的客户AJAXd jQuery页面,在动态化和id列表大约1-2mb之前传输动态表时,数据传输速度更快,速度更快,但我离题了。

看起来json_encode做了同样的事情,从我在其他帖子上看到的内容中添加了超过JSON所需的内容。有没有办法简单地将数组作为对象输出或从多个数组构建一个对象并导出它?

1)打印(及其“系列”)是输出的唯一方法吗?

2)json_encode(和它的'family)是否必要?毕竟,如果我在jQuery级别正确输出,我不需要解码。

我是速度和速度的忠实粉丝效率。随着AJAX / jsLibs的接管,数据变得越来越大,而这些服务器端的脚本被淘汰,看起来下一个逻辑目标(除了标准化的推送到客户端)就是将JSON的大小保持为小到可能的。

如何将AJAX / PHP的垃圾减少到最低限度?如何直接将数组导出为对象?

谢谢你的支持。我的词汇很糟糕。我希望我想做的事情相对清晰。

一如既往,提前谢谢,谢谢你堆积我的大脑!

1 个答案:

答案 0 :(得分:1)

我使用.net webmethod时遇到的问题是我的输出是javascriptserializing,然后发送包含<ScriptMethod(ResponseFormat:=ResponseFormat.Json)>。这就是将额外数据添加到我的json输出中的原因。

可以使用json_encode按原样导出数组,这就是所需要的。