我还是Javascript的新手,有一段时间对JSON和Javascript对象之间的区别感到困惑。我的服务器上有一个包含JS对象的文件,例如:
{
name: "alpha",
value: 0.33,
desc: "capital share of output"
}
我一直把它保存为file.json。我知道它实际上不是JSON。在了解了JSON和JS对象之间的差异之后,我感觉这是将它保存为* .json文件的错误形式。
是否存在如何在普通文件中保存JS对象(即NOT JSON)的标准约定?或者它只是一个file.txt,我过度思考这个问题了?
答案 0 :(得分:1)
没有用于保存JavaScript片段的文件命名约定(请注意,您的示例不是有效的JavaScript,因为在该上下文中,{}
表示块而不是对象字面值且其内容无效)。
该示例中的任何内容都无法用JSON表示,因此我会在属性名称周围添加引号,然后将其称为带有.json
文件扩展名的JSON。这清楚地说明了它是什么。
答案 1 :(得分:0)
fs.writeFileSync("myfile.json",JSON.stringify(myJsObject));
在Nodejs。
没有Javascript对象是JSON,JSON是一种序列化格式,就像XML.Valid XML有规则吗?非常有效的JSON也有规则。它看起来像javascript代码的事实是因为JSON的灵感来自Javascript Object Notation。但请记住,JSON只是一种序列化格式。(尽管您可以使用nodejs轻松地反序列化json)。
有效的JSON将是
{
"name": "alpha",
"value": 0.33,
"desc": "capital share of output"
}
引用了密钥,例如在文本文件中。
和规范: