如何将 ANSI 颜色编码添加到 JSON?
How do I add ANSI color encodings into JSON?
我正在尝试创建一个 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 代码告诉我错误是“字符串中的无效转义字符”,但我不确定我应该如何解决这个问题。
由于 \ 是一个转义字符,我认为您只需要在所有字符串中加倍它的存在即可。
{
"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]"
}
}
我正在尝试创建一个 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 代码告诉我错误是“字符串中的无效转义字符”,但我不确定我应该如何解决这个问题。
由于 \ 是一个转义字符,我认为您只需要在所有字符串中加倍它的存在即可。
{
"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]"
}
}