【问题标题】:How to append newlines to json? [duplicate]如何将换行符附加到json? [复制]
【发布时间】:2021-07-02 15:22:15
【问题描述】:

我正在开发一个 Discord 机器人,并希望将货币值保存在 json 文件中。到目前为止它工作得很好,但是它在一行中将它们附加到 json 文件中,虽然它完全可以正常工作,但我希望能够阅读它。

这是代码

                let json = jsonfile.readFileSync(balance, { throws: false })

            let newBalance = {}

            for (let i = 0; i < 3; i++) {
                let val = embedJSON.fields[i].value
                val = val.replace(",", "")
                let valSplit = val.split(" ")[1]

                newBalance[`${embedJSON.fields[i].name}`] = valSplit

            }
            json[`${user}`] = newBalance
            jsonfile.writeFileSync(balance, json)

这就是 json 的样子

{"Anth'auwe#0169":{"Cash:":"200","Bank:":"399800","Net Worth:":"400000"},"Layers#0169":{"Cash:":"0","Bank:":"199838","Net Worth:":"199838"}}

如果可能的话,我希望它看起来像这样

    {
    "Layers#0169": {
        "Cash": 0,
        "Bank": 0,
        "Net Worth": 0
    },
    "Anth'auwe#0169": {
        "cash": 0,
        "bank": 0,
        "Net Worth": 0
    }
    }

【问题讨论】:

  • 尝试添加\n\r
  • @Ivar 是和否。我希望它默认漂亮,而不必打印出来。

标签: javascript json


【解决方案1】:

我认为您正在寻找如何漂亮地保存您的 JSON。

正如here 解释的那样,您可以像JSON.stringify() function 使用spaces 选项一样执行此操作。

尝试更改此行:

jsonfile.writeFileSync(balance, json)

对于这个:

jsonfile.writeFileSync(balance, json, {spaces: 2})

const myJSON = {"Anth'auwe#0169":{"Cash:":"200","Bank:":"399800","Net Worth:":"400000"},"Layers#0169":{"Cash:":"0","Bank:":"199838","Net Worth:":"199838"}};

console.log(JSON.stringify(myJSON, null, 2));

【讨论】:

    【解决方案2】:

    您是否尝试阅读 jsonfile 包的文档?

    jsonfile.writeFileSync(balance, json, { spaces: 2 })

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-11
      • 2019-12-29
      • 1970-01-01
      • 2010-09-09
      相关资源
      最近更新 更多