首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Koa中返回JSON

在Koa中返回JSON
EN

Stack Overflow用户
提问于 2018-11-16 11:51:14
回答 1查看 7.4K关注 0票数 4

我在路由器中通过POST方法接收JSON,然后将其返回给用户。由于某种原因,返回的JSON会将所有数值和布尔值强制转换为string。如果相关的话,我正在使用koa-bodyparser。

有什么方法可以避免这种情况吗?

代码:

代码语言:javascript
复制
var js = ctx.request.body.json;
ctx.body = {
                status: 'success',
                json: js
};

输入JSON:

代码语言:javascript
复制
{
"json": {
       "numbers": 123
        }
}

输出JSON:

代码语言:javascript
复制
{
"json": {
       "numbers": "123"
        }
}
EN

回答 1

Stack Overflow用户

发布于 2019-02-05 04:58:15

严格模式在默认情况下已经处于活动状态(https://github.com/cojs/co-body#options),因此您不必担心它。下面的代码适用于我:

代码语言:javascript
复制
  ctx.body = {
    status: 'success',
    json: ctx.request.body.json
  };

我使用Postman将其发送到koa服务器,并在Postman中收到答案:

代码语言:javascript
复制
  {
    "status": "success",
    "json": {
        "id": 1,
        "name": "Joe"
    }
  }

正如你所看到的,'id‘是一个数字。因为你没有写关于你的客户,我猜可能是浏览器吧?如果是这样,请尝试使用JSON.parse()函数,因为您可能会从post请求中获得字符串。请参阅此示例:

代码语言:javascript
复制
JSON.parse("{\"json\":{\"id\":1}}");

您还可以尝试将Postman作为客户端,看看它是否有效(https://www.getpostman.com/)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53331160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档