【问题标题】:How do I add ANSI color encodings into JSON?如何将 ANSI 颜色编码添加到 JSON 中?
【发布时间】:2021-11-19 20:52:01
【问题描述】:

我正在尝试创建一个 json 文件,该文件将保存一些系统日志记录的所有标签,例如:

console.log(`${logs["SYSTEM"].SHUTDOWN} - The bot has been shut down.`)

但是,由于某种原因,它不允许我创建 ANSI 颜色转义字符。 这就是我的 logs.json 的外观:

{
    "SYSTEM": {
        "SUCCESS": "[\x1B[48;2;0;0;0mSYSTEM\x1B[0m]::[\x1B[38;2;0;255;0m\x1B[48;2;0;0;0mSUCCESS\x1B[0m]",
        "RELOADED": "[\x1B[48;2;0;0;0mSYSTEM\x1B[0m]::[\x1B[38;2;0;255;0m\x1B[48;2;0;0;0mRELOADED\x1B[0m]",
        "RELOADING": "[\x1B[48;2;0;0;0mSYSTEM\x1B[0m]::[\x1B[38;2;255;158;3m\x1B[48;2;0;0;0mRELOADING...\x1B[0m]",
        "ERROR": "[\x1B[48;2;0;0;0mSYSTEM\x1B[0m]::[\x1B[38;2;255;0;0m\x1B[48;2;0;0;0mERROR\x1B[0m]",
        "SHUTDOWN": "[\x1B[48;2;0;0;0mSYSTEM\x1B[0m]::[\x1B[38;2;255;0;0m\x1B[48;2;0;0;0mSHUTDOWN\x1B[0m]"
    }

}

vs 代码告诉我错误是“字符串中的无效转义字符”,但我不确定我应该如何解决这个问题。

【问题讨论】:

    标签: json colors ansi


    【解决方案1】:

    由于 \ 是一个转义字符,我认为您只需将其在所有字符串中的存在加倍即可。

    {
        "SYSTEM": {
            "SUCCESS": "[\\x1B[48;2;0;0;0mSYSTEM\\x1B[0m]::[\\x1B[38;2;0;255;0m\\x1B[48;2;0;0;0mSUCCESS\\x1B[0m]",
            "RELOADED": "[\\x1B[48;2;0;0;0mSYSTEM\\x1B[0m]::[\\x1B[38;2;0;255;0m\\x1B[48;2;0;0;0mRELOADED\\x1B[0m]",
            "RELOADING": "[\\x1B[48;2;0;0;0mSYSTEM\\x1B[0m]::[\\x1B[38;2;255;158;3m\\x1B[48;2;0;0;0mRELOADING...\\x1B[0m]",
            "ERROR": "[\\x1B[48;2;0;0;0mSYSTEM\\x1B[0m]::[\\x1B[38;2;255;0;0m\\x1B[48;2;0;0;0mERROR\\x1B[0m]",
            "SHUTDOWN": "[\\x1B[48;2;0;0;0mSYSTEM\\x1B[0m]::[\\x1B[38;2;255;0;0m\\x1B[48;2;0;0;0mSHUTDOWN\\x1B[0m]"
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-03
      • 2019-05-29
      • 2012-05-22
      • 2017-12-23
      相关资源
      最近更新 更多