我想使用 fs 以 json 格式将值存储在文件中

Posted

技术标签:

【中文标题】我想使用 fs 以 json 格式将值存储在文件中【英文标题】:I want to store values in file in json format using fs 【发布时间】:2022-01-14 00:05:24 【问题描述】:
            let AccountDetails = 
                dformat,
                username,
                password, 
                accountType,
                charity
            
        ;
        AccountDetails.dformat
            let creds = JSON.stringify(AccountDetails);
            fs.appendFile("LoginID\\JsonCreds.json",creds,(err) => 
                if (err) 
                    console.log(err);
                
                else 
                    // Get the file contents after the append operation
                    console.log("\nFile Contents of file after append:",
                        fs.readFileSync("LoginID\\JsonCreds.json", "utf8"));
                
            );
Output:-
    "dformat": "2021-12-09 10:09:53","username": "An191428","password": "Root@123","accountType": "Basic Enterprise Postpaid","charity": "Non-charity"

我希望输出如下:-2021-12-09 10:09:53|An191428|Root@123|Basic Enterprise Postpaid|Non-charity 像这样并且每次追加后还想要新行,请帮助我。

【问题讨论】:

【参考方案1】:

您显示的 o/p 不是 JSON,请检查 here 什么是有效的 json。您可以将此数据写入文本文件而不是 JSON。首先,您需要获取值并创建一个格式相同的字符串并将其写入文本文件。

const fs = require('fs');
  let AccountDetails = 
                dformat,
                username,
                password, 
                accountType,
                charity
            
;

const dataFormatted = Object.values(AccountDetails).join('|');

fs.writeFile('create Text file', dataFormatted, flag: 'a+', err => 
  if (err) 
    console.error(err)
    return
  
)

您还可以查看this 链接,了解如何在 Node.js 中写入文件。读取文本文件时,创建一个readLine接口,逐行读取,过滤掉结果。

【讨论】:

好的,我只想追加,因为每次执行都会覆盖写入。 Flag- a+ 会将流位置带到末尾并从那里追加。您需要确保文件存在且路径正确。 希望这个答案有帮助。 就像你说的,它不是 json ,我如何在 json 中存储相同的值? 您将无法使用 .appendFile 并在文件中维护 JSON。 JSON 是一种文档格式,您需要能够将所有数据包装在一个整体结构中。您可能必须读取整个文件,添加数据并将其写出,如果同时写入多个内容,请小心

以上是关于我想使用 fs 以 json 格式将值存储在文件中的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 备份 json 文件

使用承诺重构代码以读取文件并将它们转换为 json

将文本文件转换为干净的 JSON 格式

使用 shell 脚本迭代 json 以存储键值对

将值附加到存储在 MySQL 中的 JSON 解码数组参数

android 怎样将数据以json格式保存在手机文件中?