在JSON响应中返回数组的最佳格式是什么?

时间:2019-06-18 12:36:57

标签: arrays json

我正在询问在JSON响应中返回数据数组的最佳做法...

喜欢这个:

{ myObjectContainsArray: [ {object1}, {object2}, {object3}] }

// and get it like this => myObjectContainsArray[0].object1property 

或:

[{object1}, {object2}, {object3}]
// and get it like this => [0].object1property 

什么是最好的方法?

谢谢

1 个答案:

答案 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和数组被执行。 [..]

因此,建议仅返回对象。