【问题标题】:How can i get the Json of my url request?如何获取我的 url 请求的 Json?
【发布时间】:2017-12-14 11:23:18
【问题描述】:

我想发出一个 URL 请求,在我在浏览器中尝试后,它的结果将是 JSON。 我想将整个 JSON 响应放在 var 或 const 中,以便以后进行进一步处理。

到目前为止我所尝试的:

app.use(express.bodyParser());

app.post(MY_URL, function(request, response){
    console.log(request.body);
    console.log(request.body;
});

然后:

app.use(bodyParser.urlencoded({
    extended: true
}));

app.post(MY_URL, function (req, res) {
    console.log(req.body)
});

这两个都没有解决,成为node.js 的初学者也无济于事。

编辑:为了澄清我的问题:

my_url = https://only_an_example

在浏览器中输入的 URL 将在该页面中提供一个 Json,如下所示:

{
  "query": "testing",
  "topScoringIntent": {
    "intent": "Calendar.Add",
    "score": 0.987683
  },
  "intents": [
    {
      "intent": "Calendar.Add",
      "score": 0.987683
    },
    {
      "intent": "None",
      "score": 0.0250480156
    }}

我想要的是获得 Json 响应并使用 node.js 打印它。

【问题讨论】:

  • 看来您需要访问 "response.body" 或 "res.body" 。不要求
  • 如果您发现问题所在或有更好的建议方式,您能否在答案中添加完整的回复。
  • 如果你想获取 Json 然后使用 app.getapp.post 只是用于向服务器发送数据,但我也可以返回 json 数据
  • 我想发送 URL 然后检索输出,所以我想我需要同时使用这两个?

标签: javascript json node.js


【解决方案1】:

如果您试图获取请求的正文,只需访问:

req.body;

如果你想发送一个 JSON 对象作为响应,你可以这样做:

var objectToResponde = {"key1": "value1", "key2": "value"};
res.send(objectToResponde);

【讨论】:

  • 我想从我的 url 请求中访问 Json 响应的正文,请再次检查我的问题。
  • 我认为您正在混合请求和响应的概念。我不明白你的问题,对不起
  • 我的错,我已经调整了我的问题。
【解决方案2】:

在进一步了解 OP 的问题后(​​通过下面的 cmets),您可以将要发送回客户端的对象转换为 JSON,如下所示:

app.post('some/url', (req, res) => {
    const myObject = {a: 1, b:2};

    res.json(myObject);
});

此结果是一个带有相应响应标头的 JSON 响应。

【讨论】:

  • app.use(bodyParser.json()); router.post(myUrl, (req, res) => { const data = req.body; console.log(data) session.send(data) });这就是我所做的,我没有得到输出 Json
  • 你确定要发布数据吗?您是否能够调试客户端并确认数据以 JSON 格式发送并且设置了正确的 content-type 标头?
  • 我不想发送 Json,我想发送一个 URL 然后检索 Json 响应,然后打印出 Json 响应以确保它是我想要的。
  • 这根本没有意义。您有一个客户端“A”将数据发布到服务器“B”。 “A”正在发布到“B”公开的端点。 'A' 发布到 'B' 的内容是什么?同样在您的代码中,MY_URL 的值是多少
  • 我仍在努力理解这一点。您的 NodeJS 实例正在运行您的快速服务器,它可以接受来自客户端的请求并向客户端返回响应。它可以查看从客户端发送的 JSON 正文并返回 JSON 响应。因此,当客户端请求特定 URL 时,您只想将帖子中的示例 JSON 返回给客户端?
【解决方案3】:

试试这个:

app.use(bodyParser.urlencoded({
   extended: true
}));

app.post(MY_URL, function (req, res) {
    res.status(200).json(<your object>);
});

【讨论】:

    猜你喜欢
    • 2014-04-01
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    • 2014-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多