搜索

node.js如何判断前端发过来的数据是json格式?

在服务器端,如何判断,前端网页发过来的数据是json格式,还是x-www-form-urlencoded?
头像
746 次浏览2020.04.19 提问

最新回答(4条回答)

头像
2020.04.20 回答
提问者采纳

req.headers.Content-type里面应该有你想要的相关数据

2020.04.20 22:12 发表追问:
抢首赞
头像
2023.06.09 回答

在 Node.js 中,可以通过以下步骤来判断前端发过来的数据是否是 JSON 格式:

1.获取请求体:使用 req.body 可以获取发送请求时传递的请求体,通常是一个字符串或一个对象。

2.尝试将请求体转成对象:使用 JSON.parse() 方法可以将字符串转换为 JavaScript 对象。如果请求体的字符串不是合法的 JSON 格式,JSON.parse() 抛出异常。

3.检查转换结果:如果 JSON.parse() 没有抛出异常,说明请求体一定是一个合法的 JSON 对象格式。

下面是一个示例代码:

复制代码

app.post('/api/data', (req, res) => {  try {    const data = JSON.parse(req.body)    // 请求体属于合法的 JSON 格式,可以进行相应的操作    console.log(data);    res.send('success')  } catch (e) {    // 请求体不是有效的 JSON 格式    res.status(400).send('Invalid JSON format')  } })

需要注意的是,在使用 JSON.parse() 方法时,如果请求体过大或者存在其他问题会导致解析速度变慢,因此建议使用流或其他方式处理大量数据。

抢首赞
头像
2021.05.09 回答

req.headers.Content-type里面应该有你想要的相关数据

抢首赞
头像
2021.05.05 回答

req.headers.Content-type里面应该有你想要的相关数据

抢首赞
置顶