如何在Node.JS中使用JSON

我在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中。

这听起来像你想在浏览器的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是你select的端口)。 你应该看到你的JSON输出

你不能把JSON转换成HTML。 JSON是一种数据格式。 HTML是一种标记语言。 您将手动创build一些您想要的HTML,然后从JSON中删除值。

例如,你可以做这样的事情:

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

这会给你一些HTML如:

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

假设响应具有name的值。