我正在寻找关于JSON应该存储在何处的“最佳实践”,如果它只是一个字符串数组。它应该存储在HTML页面的脚本块中的变量中吗?它应该存储在HTML之外的JavaScript文件中以便分离吗?或者它应该存储在插件本身?
如果它应该是外部js文件,那么该文件的“最佳实践”命名方案是什么?我知道接受的jQuery插件名称是jquery.plugin.js或jquery.plugin-min.js(用于缩小的文件)。
答案 0 :(得分:6)
取决于,如果您需要立即使用JSON,您可以将其存储在任何位置以执行它:
<script> var myJsonObj = { ... }; </script>
如果它是大量数据并且您不需要立即获取数据,则可以始终对名为“data.json”的文件进行ajax调用。
为了命名插件名称,它真的取决于你,但是我相信jquery.pluginname.js是标准的做法。
答案 1 :(得分:1)
我将第二个sktrdie为这样的文件添加扩展名.json。我第一次玩JSON时遇到的问题是JSON字符串不是有效的JavaScript文件。
例如,如果我使用此内容调用文件:
{
'foos': 'whatever',
'bar': false,
'items': [1,2,3]
}
作为&lt; script&gt;的src标签,我收到此错误:
Error: invalid label
Line: 2, Column: 1
Source Code:
'foos': 'whatever',
过去我实际上在&lt; divs&gt;中隐藏了JSON字符串。或者跨度如下:
<div id="jsonStorage" style="display:none">
{'foos': 'whatever','bar': false,'items': [1,2,3]}
</div>
我也使用了隐藏的表单字段。
答案 2 :(得分:0)
如果它是插件的一部分,即默认配置,我会将其存储在插件文件中。如果它是插件的外部配置,那么它取决于。将它存储在HTML中的变量中可能是有意义的,即
<script>
var myConfig = {
"foo" : "bar"
};
</script>
如果您需要后端代码生成任何JSON,情况尤其如此。
真的,答案是“它取决于” - 你能提供更多细节吗?