Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 保存JS对象文本文件的约定_Javascript_Json - Fatal编程技术网

Javascript 保存JS对象文本文件的约定

Javascript 保存JS对象文本文件的约定,javascript,json,Javascript,Json,我对Javascript还是新手,有一段时间我对JSON和Javascript对象之间的区别感到困惑。我的服务器上有一个包含JS对象的文件,例如: { name: "alpha", value: 0.33, desc: "capital share of output" } 我一直把它保存为file.json。我知道它实际上不是JSON。在进一步了解了JSON和JS对象之间的差异之后,我觉得将其保存为*.JSON文件实在是太糟糕了 对于如何在普通文件中保存JS对象(非JSON)是否有标准约定?

我对Javascript还是新手,有一段时间我对JSON和Javascript对象之间的区别感到困惑。我的服务器上有一个包含JS对象的文件,例如:

{
name: "alpha",
value: 0.33,
desc: "capital share of output"
}
我一直把它保存为file.json。我知道它实际上不是JSON。在进一步了解了JSON和JS对象之间的差异之后,我觉得将其保存为*.JSON文件实在是太糟糕了


对于如何在普通文件中保存JS对象(非JSON)是否有标准约定?或者它只是一个file.txt,我正在仔细考虑这个问题?

没有保存JavaScript片段的文件命名约定(请注意,您的示例不是有效的JavaScript,因为在该上下文中,
{}
表示一个块而不是一个对象文本,并且它的内容无效)

不过,该示例中的任何内容都不能用JSON表示,因此我会在属性名称周围添加引号,然后使用
.JSON
文件扩展名将其称为JSON。这清楚地说明了它是什么

fs.writeFileSync("myfile.json",JSON.stringify(myJsObject));
在Nodejs中

没有Javascript对象是JSON,JSON是序列化格式,就像XML一样。有效的XML有规则,对吗?有效的JSON也有规则。它看起来像javascript代码的事实是因为JSON的灵感来自javascript对象符号。但请记住,JSON只是一种序列化格式(尽管您可以使用nodejs轻松地反序列化JSON)

有效的JSON应该是

{
"name": "alpha",
"value": 0.33,
"desc": "capital share of output"
}
例如,在文本文件中引用该键

规格:


对于我来说,想要将其单独存储在一个文件中似乎很奇怪——除非您分配了这个对象,否则您拥有的是一些什么都不做的JavaScript。如果您想存储或移动对象数据,为什么不使用JSON?@rom99我知道这没有任何作用。最后,我使用AJAX get请求调用它,并使用该对象动态生成一些HTTP代码。我得到的印象是,手工编辑JSON文件的形式不好,JS object literal是存储数据的更好方式,但这可能是错误的。我觉得你应该将其存储为“正确的”JSON。您使用的是.json扩展名,因此任何其他读取该文件的人都会认为它是有效的json。当您使用AJAX请求调用它时,我假设它被视为JSON,即使它无效?顺便问一下,如果你想检查一些手工制作的JSON的有效性,例如,你可以使用在线验证器。你说的“内容无效”是什么意思?在node.js中,我可以从文件中读取它,它存储为数据结构,我可以在其他代码中使用它……我的意思是,如果您尝试将它作为js执行(不使用任何其他包装),您将导致抛出异常,因此您不能合理地说它是JavaScript程序。