【问题标题】:How to keep JSON keys as strings in JavaScript如何在 JavaScript 中将 JSON 键保存为字符串
【发布时间】:2021-09-16 12:53:33
【问题描述】:

当运行如下内容时:

https://onecompiler.com/javascript/3x4k9njds

JSON 键会自动从字符串更改为标识符名称。我正在写入 Firebase 实时数据库,Firebase 会将 JSON 识别为无效(因为 JSON 键需要有双引号)。如何将 JSON 键放在双引号中(大多数 JavaScript 编译器会删除它们)?

【问题讨论】:

    标签: javascript json firebase firebase-realtime-database


    【解决方案1】:

    试试

    console.log(JSON.stringify({
      "msg": "hello world",
      "msg2": "testing123"
    }));
    

    【讨论】:

    • Firebase 实时数据库需要作为 JSON 对象的输入。在我的程序中,我会得到权限被拒绝的响应。在规则沙箱中尝试相同的操作时,我收到错误“无效的 JSON”。我相信 JSON 是无效的,仅仅是因为 JavaScript 会自动更改键并弄乱语法。 ibb.co/ydD6FFc
    【解决方案2】:

    控制台日志不显示双引号,因为 JSON 和 JavaScript 对象之间存在差异。

    如果需要将 JavaScript Objects 转换为 JSON,可以使用

    JSON.stringify(newData)
    

    【讨论】:

    • 是的,我知道。我认为 Invalid JSON 错误一定是其他原因,因为问题在一段时间后解决了,尽管我仍在使用 JavaScript 对象。
    猜你喜欢
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 2019-01-05
    • 1970-01-01
    • 2012-04-29
    • 2018-06-22
    • 1970-01-01
    • 2015-11-15
    相关资源
    最近更新 更多