是否有使用 JSON.stringify 将数字字符串化为十六进制格式的简单方法? 例如,如果我有一个 JSON 结构:
{
number: 1024
}
在这种情况下,我希望 JSON 字符串输出看起来像
{
number: 0x400
}
JSON.stringify 始终以十进制格式(基数 10)返回数字。
最佳答案
您可以使用 replacer
的 JSON.stringify
replacer 得到两个参数 key
和 value
被字符串化。在此函数中,因为您想将数字类型从十进制更改为十六进制,所以我们检查类型是否为数字,我们使用 toString()
基数为 16
的方法将其转换为十六进制如果不是,我们直接返回值而不做任何更改。
const obj = { num1:1024,num2:1025,num3:1026,num4:1027 }
console.log(JSON.stringify(obj, (key, value) => {
if( typeof value === 'number'){
return '0x' + value.toString(16)
}
return value
}))
关于javascript - 使用 Javascript 将 json 中的数字字符串化为十六进制(或其他)格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54765652/