1

我有一些 JavaScript 执行来自服务器的 ajax 请求,该请求将返回 JSON 数据。尽管此数据是 JSON,但它不正确,因为脚本要求数据基于数组且不包含对象。

一位同事建议使用客户端解决方案,通过重新创建 JSON 数据,将基于对象的 JSON 转换为基于数组的 JSON。

我觉得它应该更像是服务器端,因为我觉得您永远不应该依赖客户端浏览器来进行此类过滤?做这样的数据结构操作不是服务器的工作吗?

(我的意思是服务器端 - 在从 AJAX 请求接收数据之前,在客户端做同样的事情,但在 PHP 中)

这样做的最佳做法是什么,如果可能的话,解释每一方的利弊?

感谢您的时间。

4

3 回答 3

1

来自服务器的 JSON 是否包含任何用户不得知道的敏感数据?当它发生时,您必须在服务器端对其进行过滤,因为您不能依赖客户端将其删除。

JSON 是否包含无害但不必要的信息?然后它只是一个网络性能的事情。您需要自己评估此优化是否值得您花时间。

但是当 JSON 不包含任何多余的数据并且它只是需要更改的表示时,那么没有理由不应该在客户端完成此操作。

于 2012-09-07T08:04:36.290 回答
0

您可以使用 PHPjson_decode()将其放入数组中:

json_decode($jsondata, true);

http://nl3.php.net/json_decode

于 2012-09-07T08:03:38.400 回答
0

在客户端做更多的处理而在服务器端做更少的处理肯定会加快速度......但无论如何你必须解析从客户端的服务器(PHP)返回的数据......

最好使用 JSON.PARSE 或类似的东西。

于 2012-09-07T08:04:36.870 回答