用于保存JS对象文字的文件的约定

时间:2014-06-15 11:38:20

标签: javascript json

我还是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,我过度思考这个问题了?

2 个答案:

答案 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"
}

引用了密钥,例如在文本文件中。

和规范:

http://json.org/