【问题标题】:Return object instead of json_encode返回对象而不是 json_encode
【发布时间】:2012-09-28 04:05:22
【问题描述】:

所以,我发现将我的 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 将垃圾减少到最低限度?如何直接将数组导出为对象?

感谢您对我的包容。我的词汇量很糟糕。希望自己想做的事情比较清楚。

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

【问题讨论】:

    标签: php jquery ajax json webmethod


    【解决方案1】:

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

    可以使用 json_encode 原样导出数组,仅此而已。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-13
      • 2013-09-11
      • 1970-01-01
      • 2011-01-17
      • 1970-01-01
      • 2013-12-29
      • 1970-01-01
      相关资源
      最近更新 更多