【问题标题】:How take the JSON in Node.JS如何在 Node.JS 中获取 JSON
【发布时间】:2017-11-28 20:03:06
【问题描述】:

我在 Node.JS 文件中有这个。

var express = require('express');
var app = express();
var http = require('http').Server(app);
var cfenv = require("cfenv");

var appEnv = cfenv.getAppEnv();

http.listen(appEnv.port, appEnv.bind);

var PersonalityInsightsV2 = require('watson-developer-cloud/personality-insights/v2');

var personality_insights = new PersonalityInsightsV2({
  username: '<YOUR-USERNAME>',
  password: '<YOUR-PASSWORD>'
});

personality_insights.profile({
  text: "<YOUR-100-UNIQUE-WORDS>",
  language: 'en' },
  function (err, response) {
    if (err)
      console.log('error:', err);
    else
      console.log(JSON.stringify(response, null, 2));
});

我正在发送一个 API 调用,但如您所见,它在控制台中以 JSON 格式显示结果。 我怎样才能使这个结果在 JSON 中显示在控制台中,在 HTML 中显示给我? 非常感谢!

我认为问题出在console.log(JSON.stringify(res,null, 2));,但是,我不知道如何将其放入 HTML 中。

【问题讨论】:

  • 你的意思是在浏览器中?
  • 您是否打算创建一个可以在本地访问的 Web 服务器(即localhost:8080),在浏览器中显示您的 JSON?

标签: javascript node.js ibm-watson


【解决方案1】:

您不能只将 JSON 转换为 HTML。 JSON 是一种数据格式。 HTML 是一种标记语言。您必须以您想要的方式手动创建一些 HTML,然后从 JSON 中删除值。

例如,您可以这样做:

else {
  const html = 
    `<!DOCTYPE html>
     <body>
     <p>${response.name}</p>
  `;
  console.log(html);
}

这会给你一些像这样的 HTML:

<!DOCTYPE html>
<body>
<p>Bob</p>

假设响应的值为name

【讨论】:

    【解决方案2】:

    听起来您想在浏览器的 HTML 页面上查看 JSON。这样的事情应该会有所帮助。它将启动您的 Express 服务器,侦听您使用 appEnv.port 指定的任何端口,并提供 myJson(然后将在您的代码中分配)

    var express = require('express');
    var app = express();
    var http = require('http').Server(app);
    var cfenv = require("cfenv");
    
    var appEnv = cfenv.getAppEnv();
    
    var myJson;
    
    // respond with JSON when a GET request is made to the index
    app.get('/', function (req, res) {
      res.send(myJson)
    })
    
    app.listen(appEnv.port);
    
    var PersonalityInsightsV2 = require('watson-developer-cloud/personality-insights/v2');
    
    var personality_insights = new PersonalityInsightsV2({
      username: '<YOUR-USERNAME>',
      password: '<YOUR-PASSWORD>'
    });
    
    personality_insights.profile({
      text: "<YOUR-100-UNIQUE-WORDS>",
      language: 'en' },
      function (err, response) {
        if (err)
          console.log('error:', err);
        else
          myJson = JSON.stringify(response, null, 2);
    });
    

    要尝试这个,您可以打开浏览器到“http://localhost:appEnv.port/”(其中 appEnv.port 是您选择的端口)。您应该会看到 JSON 输出

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-06
      • 2019-04-21
      • 2016-10-01
      • 1970-01-01
      • 2018-03-15
      • 1970-01-01
      • 2020-08-10
      • 1970-01-01
      相关资源
      最近更新 更多