如何从express node.js中的对象req数据转换为字符串
Posted
技术标签:
【中文标题】如何从express node.js中的对象req数据转换为字符串【英文标题】:How to convert to string from object req data in express node.js 【发布时间】:2019-02-13 08:12:27 【问题描述】:我想将 app.get('/') 中的 req(Request) 数据保存到某个东西。出现“TypeError: Converting circular structure to JSON”
var express = require('express')
var app = express()
var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded(extended: false))
app.get('/', (req, res) =>
var string = JSON.stringify(req);
saveRequest(string)
res.send("OK")
)
function saveRequest()
//...
你知道 req data to string 吗?我已经尝试过这段代码
app.get('/', (req, res) =>
var string = objToString(req);
saveRequest(string)
res.send("OK")
)
function objToString (obj)
var str = '';
for (var p in obj)
if (obj.hasOwnProperty(p))
str += p + '::' + obj[p] + '\n';
return str;
发生“TypeError:无法将对象转换为原始值”
【问题讨论】:
【参考方案1】:我不确定您为什么要保存整个请求对象,但有一些节点模块可用于安全地对包含循环引用(例如 json-stringify-safe)的对象进行字符串化。
举个例子
let app = require('express')();
let port = process.env.PORT || 3000;
let stringify = require('json-stringify-safe');
app.get('/', (req, res) =>
console.log(stringify(req));
res.send("Ok");
)
app.listen(port, () =>
console.log("Listening on " + port);
)
【讨论】:
以上是关于如何从express node.js中的对象req数据转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章
Node.js(Express API):req.body.myobject 未定义且无法正常工作
Node.js / Express / Mongoose - 如何发送 JSON 以及对象视图?
如何在用户从帐户注销时断开事件触发(node.js + express socket.io)