【问题标题】:How to add a new string to an array in a json file如何将新字符串添加到 json 文件中的数组
【发布时间】:2020-09-22 18:27:59
【问题描述】:

我正在制作一个不和谐的机器人,我有一个 profile.json 文件,我希望能够制作它,因此当您执行某个命令时,它会将您输入的参数添加到数组中。像这样

{"Profile_name":"id":"idhere", "array":["item_1"]}

当用户使用该命令时,我希望能够向该数组添加更多项目

【问题讨论】:

  • 定义中有语法数组。 "id":"idhere" 没有任何意义。冒号不能在那里。要将项目添加到数组中,请使用 push(item) 方法。

标签: javascript node.js json discord discord.js


【解决方案1】:

首先,你的 json 中有语法错误。

其次,你要求准备好的代码。

第三,在这里,你有可以开始的废料:

const fs = require("fs");

// read file
let my_json = fs.readFileSync(path_to_file);
my_json = JSON.parse(my_json);

// edit variable here
// for example
my_json.array.push("new item");

// write file
my_json = JSON.stringify(my_json);
fs.writeFileSync(path_to_file, my_json);

【讨论】:

    【解决方案2】:

    您需要读取文件,将新元素推送到数组,然后保存文件

    const fs = require('fs');
    //reads the file
    let rawdata = fs.readFileSync('file.json');
    //convert to JSON object
    let json = JSON.parse(rawdata);
    //Before: {"Profile_name":"name","id":"idhere", "array":["item_1"]}
    json["array"].push("more");
    //After: {"Profile_name":"name","id":"idhere", "array":["item_1","more"]}
    //Convert to string
    let data = JSON.stringify(json);
    //Save the file
    fs.writeFileSync('file.json', data);
    

    【讨论】:

    • json["array"].push("more");此行尝试访问“数组”,在您的情况下它不存在。
    猜你喜欢
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    • 2015-03-09
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多