0

所以,我发现将我的 WebMethod 作为对象,返回字典而不是作为字符串,返回 JavaScriptSerializer.Serialized() 将 JSON 的大小减少了 ~ 20%。

是的,我知道这对于您(过去)为消费者服务的传统 web 应用程序来说没什么大不了的,几 kb 会很大,但对于您试图为您的客户服务的 B2B 来说,这是巨大的AJAXd jQuery 页面在传输动态表时数据传输要少得多,速度更快,动态表在动态化之前可能为 100mb,id 列表约为 1-2mb,但我离题了。

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

1)打印(及其家族)是唯一的输出方式吗?

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

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

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

谢谢你陪我。我的词汇量很糟糕。我希望我想做的事情相对来说足够清楚。

与往常一样,提前感谢您,感谢您成为我的大脑!

4

1 回答 1

1

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

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

于 2012-12-11T18:31:04.413 回答