我使用 koa js 和 bodyparser ,假设客户端发送这样的正文:
{ "first": "1" , "second": "2"}
我想要的是原始正文作为字符串,没有任何更改(JSON.stringify 更改字段的顺序并删除空格,然后我无法使用它)。我尝试使用raw-body这给了我主体字符串,所以我必须将其解析为 JSON。
是否有任何中间件可以为我提供 json 和原始字符串的正文?
最佳答案
如果您同时想要原始字符串和 JSON,请获取字符串,保留副本,然后将其解析为 JSON。
var getRawBody = require('raw-body')
app.use(function* (next) {
var string = yield getRawBody(this.req, {
length: this.length,
limit: '1mb',
encoding: this.charset
})
var json = JSON.parse(string)
// do something with "string"
// do something with "json"
})
注意:您必须针对 this.req
运行 getRawBody()
,因为这是 Node 的原始 http request
对象。 this.request
是 koa 特定的,无法工作。
关于node.js - 使用 koa js 检索正文的字符串和 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31566406/