javascript - 为什么我的 JSON 变量的值有“类型”和“数据”?
问题描述
出于某种原因,在对我的对象执行 JSON.stringify() 到文件中之后,我的参数之一没有分配字符串值,而是具有“类型”和“数据”。
代码:
fs.writeFileSync('myjson.json', JSON.stringify(myjsonobj, null, 4));
预期的:
{
"my-field": "D21"
}
我得到的是:
{
"my-field": {
"type": "Buffer",
"data": [
68,
50
49
]
}
}
“数据”下的值似乎是字符串中每个字符的十进制值。
那么,为什么我有数据呢?
谢谢
解决方案
这是因为您设置my-field
的任何值都是Buffer
,而不是字符串。很容易纠正;您需要做的就是.toString()
在设置时调用 Buffer my-field
。像这样:
const myData = {
'my-field': MyBufferVariable.toString()
};
return JSON.stringify(myData);
推荐阅读
- c - 这段代码正在提取尾数,指数,但为什么我们首先使用 ptr 和 ptr 的值是什么?0?
- javascript - 如何在反应路由器 dom 中定义以下模式的路由
- c++ - 如何在同一个类中使用重载运算符 []?
- java - 计算给定范围内的所有“好数字”
- java - JavaFX 非模块化项目图形设备初始化失败:d3d,sw 初始化 QuantumRenderer 时出错:找不到合适的管道
- sql - 不同格式字符串之间的 SQLite 价格比较
- java - Micronaut 中基于环境的文件拾取
- r - 将特定颜色分配给 ggplot2 中的特定值
- jquery - 使用 11 检查荷兰语 BSN 验证文本字段
- node.js - 当我尝试使用 handlebars.js 时出现缺少帮助程序错误