访问 JSON 对象中的值

Posted

技术标签:

【中文标题】访问 JSON 对象中的值【英文标题】:Accessing values in JSON object 【发布时间】:2018-02-10 16:07:57 【问题描述】:

我有一个 JSON 对象 event.body,其中包含 "article_url": "http://technewstt.com/bd1108/" 我如何访问 article_url 的值,换句话说,我想使用字符串 http://technewstt.com/bd1108/。 我试过event.body.article_urlevent.article_url,它们都是undefined

【问题讨论】:

您确定event.body 确实包含该值吗?因为event.body.article_url 应该可以工作。 @GrégoryNEUT 是的,我很确定,因为我在event.body 上做了一个console.log,它显示其中的内容"article_url": "http://technewstt.com/bd1108/" console.log(typeof event.body)console.log(Object.keys(event.body)) 怎么样 所以试试JSON.parse(event.body).article_url @GrégoryNEUT JSON.parse(event.body).article_url 工作谢谢 【参考方案1】:

如果你确定event.body包含正确的数据,你可以用json解析得到valuekey

JSON.parse('"article_url": "http://technewstt.com/bd1108/"', (key, value) => 
  console.log(key);  //logs the key which is article_url
  return value;      // returns the url value
)

相当于

JSON.parse(JSON.stringify(event.body), (key, value) => 
  console.log(key);  
  return value;      
)

其他选项,如用户@Grégory NEUT 评论将返回 url 值

JSON.parse(event.body).article_url  //returns the url value

【讨论】:

返回我需要的值 谢谢也去试试JSON.parse(event.body).article_url【参考方案2】:

最好的方法:

var url = JSON.parse(event.body).article_url;

【讨论】:

【参考方案3】:

使用body-parser中间件:

const bodyParser = require('body-parser');

app.use(bodyParser.json());

那么,你应该没事。

【讨论】:

如果 OP 使用 connect 包,这间接是一个有效的建议。

以上是关于访问 JSON 对象中的值的主要内容,如果未能解决你的问题,请参考以下文章

如何访问json数组中的值

如何访问 json 对象中的数组?

JSON对象定义与访问

我如何访问位于JSON对象内部的嵌套字典内的值?

如何访问数据表库单表中其他json对象的值?

如何通过 Kotlin 中的 gson 访问嵌套 JSON 中的值?