我正在询问在JSON响应中返回数据数组的最佳做法...
喜欢这个:
{ myObjectContainsArray: [ {object1}, {object2}, {object3}] }
// and get it like this => myObjectContainsArray[0].object1property
或:
[{object1}, {object2}, {object3}]
// and get it like this => [0].object1property
什么是最好的方法?
谢谢
答案 0 :(得分:2)
返回纯数组时存在潜在的跨站点漏洞,如下所述:https://haacked.com/archive/2009/06/25/json-hijacking.aspx/
事实证明,包含JSON数组的脚本是有效的 JavaScript脚本,因此可以执行。只是一个脚本 包含JSON对象不是有效的JavaScript文件。例如,如果 您有一个包含以下JSON的JavaScript文件:
{"Id":1, "Balance":3.14}
您有一个引用该文件的脚本标签:
<script src="http://example.com/SomeJson"></script>
您将在HTML页面中收到JavaScript错误。但是,通过 不幸的巧合,如果您有一个引用了 仅包含JSON数组的文件,该文件将被视为有效 JavaScript和数组被执行。 [..]
因此,建议仅返回对象。