【问题标题】:Why value of my JSON variable has "type" and "data" instead?为什么我的 JSON 变量的值有“类型”和“数据”?
【发布时间】:2020-11-05 14:08:14
【问题描述】:

由于某种原因,在对我的对象执行 JSON.stringify() 到文件后,我的参数之一没有分配字符串值,而是具有“类型”和“数据”。

代码:

fs.writeFileSync('myjson.json', JSON.stringify(myjsonobj, null, 4));

预期:

{
  "my-field": "D21"
}

我得到了什么:

{
  "my-field": {
    "type": "Buffer",
    "data": [
      68,
      50
      49
    ]
  }
}

“数据”下的值似乎是字符串中每个字符的十进制值。

那么,为什么我有数据呢?

谢谢

【问题讨论】:

    标签: javascript node.js json


    【解决方案1】:

    这是因为您将my-field 设置为Buffer,而不是字符串。很容易纠正;您需要做的就是在设置my-field 时在缓冲区上调用.toString()。像这样:

    const myData = {
        'my-field': MyBufferVariable.toString()
    };
    
    return JSON.stringify(myData);
    

    【讨论】:

    • 这很简单!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2018-10-17
    • 2022-07-06
    • 1970-01-01
    • 2022-01-23
    • 2015-03-23
    • 2015-01-14
    • 2020-01-04
    • 2020-05-16
    相关资源
    最近更新 更多