【问题标题】:How to reference JSON set as key in Javascript Object如何在 Javascript 对象中引用 JSON 集作为键
【发布时间】:2019-08-06 17:25:46
【问题描述】:

我有一个 Nodejs lambda 函数,它需要解析从外部应用程序发送给它的 JSON。 JSON 似乎格式不正确,并以对象键的形式出现,如下所示:

 console.log(req.body)

结果:

{ '{"id":"258830096441","time":10}': '' }

我需要的是 id 和 id 号,但我不知道如何解析它。

【问题讨论】:

  • typeof req.body 是字符串还是对象?
  • Get its key,然后将其解析为 JSON。
  • 你能复制你正在阅读请求的代码吗?
  • req.body 是一个对象。代码看起来像这样:exports.main = async function(req, res) { console.log(req.body)}

标签: javascript node.js json


【解决方案1】:

如果req.body是一个对象,你可以得到Object.keys()返回的数组的第一个key,然后JSON.parse()那个key最终得到id。如下一个示例所示:

const obj = { '{"id":"258830096441","time":10}': '' };

let id = JSON.parse(Object.keys(obj)[0]).id;

console.log(id, typeof id); // As string.
console.log(+id, typeof +id); // As number, in case you need the id as number.
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}

【讨论】:

    【解决方案2】:

    你可以通过Object.keys(req.body)[0]解析出key,这会给你一个字符串,然后你可以通过调用JSON.parse将这个字符串转换为一个对象。最终结果将类似于:

    let myReqBody = JSON.parse(Object.keys(req.body)[0])
    

    然后你可以像往常一样访问myReqBody的属性:

    myReqBody.id
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      • 2015-05-13
      • 1970-01-01
      • 2013-12-17
      • 2011-08-04
      • 2010-10-05
      • 1970-01-01
      相关资源
      最近更新 更多