我收到JSON在我的路由器POST方法,我再返回给用户。出于某种原因,返回的JSON将强制转换为字符串的所有数字和布尔值。我使用KOA-bodyparser如果多数民众赞成有关。
有什么办法避免这种情况?
码:
var js = ctx.request.body.json;
ctx.body = {
status: 'success',
json: js
};
输入JSON:
{
"json": {
"numbers": 123
}
}
输出JSON:
{
"json": {
"numbers": "123"
}
}
严格模式是默认(https://github.com/cojs/co-body#options)已经激活,所以你不必担心。此代码的工作对我来说:
ctx.body = {
status: 'success',
json: ctx.request.body.json
};
我用邮差把它发送到服务器KOA和收到邮差答案这是:
{
"status": "success",
"json": {
"id": 1,
"name": "Joe"
}
}
正如你所看到的“身份证”是一个数字。当你没有写关于你的客户我想这可能是浏览器?如果是这样尝试使用JSON.parse()来函数,因为你可能会得到您的请求后的字符串。见下面的例子:
JSON.parse("{\"json\":{\"id\":1}}");
您也可以尝试邮差作为客户端,看看是否能工程(https://www.getpostman.com/)。