Javascript I';在日志文件中存储键值对象时遇到了一些问题

Javascript I';在日志文件中存储键值对象时遇到了一些问题,javascript,node.js,append,Javascript,Node.js,Append,我明白了: { "name":"sha1.js", "value":"6d358b6f267e22e327c1028e79a5c8b200bf453d" }; 我想在保存对象时更改间距并添加分号。将来,我还计划解析这个列表,以检查文件是否已经存在,并在文件的sha1中进行更新时更改该值的值。如果您能帮助我正确格式化代码或对象,或者我应该使用的其他函数,我们将不胜感激 这两个东西在解析时是相同的,忽略分号。分号在JSON对象之后无效,所以在记录之间应该有分号(如果有的话,逗号更合适) 现

我明白了:

{
  "name":"sha1.js",
  "value":"6d358b6f267e22e327c1028e79a5c8b200bf453d"
};

我想在保存对象时更改间距并添加分号。将来,我还计划解析这个列表,以检查文件是否已经存在,并在文件的sha1中进行更新时更改该值的值。如果您能帮助我正确格式化代码或对象,或者我应该使用的其他函数,我们将不胜感激

这两个东西在解析时是相同的,忽略分号。分号在JSON对象之后无效,所以在记录之间应该有分号(如果有的话,逗号更合适)

现在,有一些鲜为人知的参数控制空白和其他漂亮的打印特性。看起来您需要JS标准的两个空格缩进,这将是一个类似于
JSON.stringify(object,null,,)
的调用

要添加分号(实际上不应该这样做),只需使用字符串连接:

{"name":"sha1.js","value":"6d358b6f267e22e327c1028e79a5c8b200bf453d"}

这将在JSON字符串后添加分号和换行符。由于分号是在序列化之后添加的,因此无论行数如何,分号都将出现在消息末尾。

感谢您的快速响应!!我一直在寻找格式化键值对的正确方法,并找到了。因此,我不知道如何在括号内存储一个新的key:value对。如果您能提供一些指导,我们将不胜感激!要向JSON对象添加新属性,需要将其解析为JS对象(
JSON.parse
),添加属性(
obj.newKey=newValue
),然后将其序列化回JSON并写入文件。你不能(轻松地)对JSON对象进行内联追加。啊,明白了。我要试一试。在阅读键值对并用它们编辑文件时,我遇到了一个问题。你认为哪种格式最适合我使用?使用“meta”似乎很不错,因为它会自动将对标识为key:value,但处理key-value-literal似乎是最简单的,因为我不必担心括号中的括号。只需使用JSON即可。它更容易解析(你不必编写任何代码),即使是最便宜的压缩(比如ZIP)也可以消除密钥的重复,并且不影响大小。啊,我明白了。如果我使用key-value-literal,我不需要任何代码来进行实际的解析,插入也没有那么困难——只需按照您在前面的答案中提供的三个步骤进行,对吗?如果我错了,请纠正我-我是node.js的新手
{"name":"sha1.js","value":"6d358b6f267e22e327c1028e79a5c8b200bf453d"}
fs.appendFile("../sha1.txt", JSON.stringify(object) + ';\n', function(err) {