我写了这段代码
var http = require('http');
var express = require('express');
var mysql = require('mysql');
var connection = mysql.createConnection({
host: '127.0.0.1',
user: 'root',
password: '',
database: 'nodejs'
});
connection.connect(function (err) {
if (!err) {
connection.query('SELECT * FROM nodetest', function (err, rows) {
if (err) {
console.log(err);
return;
}
var json = JSON.parse(JSON.stringify(rows))[0];
console.log(json);
});
console.log("Database is connected");
} else {
console.log("Error connecting database");
}
});
http.createServer(function (request, response) {
response.writeHead(200, {
"Content-Type": "test/html"
});
response.end('here my data');
}).listen(7777);
我遇到问题,在我的localhost中显示结果为i json
什么是读取表并将其转换为json并在localhost中显示的麻烦方式
答案 0 :(得分:1)
JSON.stringify做了什么?
JSON.stringify()方法将JavaScript值转换为JSON string,如果是replacer函数,则可以选择替换值 如果是,则指定或者可选地仅包括指定的属性 指定了replacer数组。
JSON.parse做了什么?
JSON.parse()方法解析JSON字符串,构造 字符串描述的JavaScript值或对象。
所以基本上,一个操作是另一个操作的反转。这就是你的问题:
var json = JSON.parse(JSON.stringify(rows))[0];
答案 1 :(得分:1)
由于您要求快递,我假设您想要使用它。
您可以使用app.get('/', function(req,res){})
创建索引路由。从mysql数据库中以json形式显示数据的快速方法是:
var express = require('express');
var mysql = require('mysql');
var app = express();
var connection = mysql.createConnection({
host: '127.0.0.1',
user: 'root',
password: '',
database: 'nodejs'
});
// localhost:7777/
app.get('/', function(req, res) {
connection.connect(function(err) {
if (!err) {
connection.query('SELECT * FROM nodetest', function(err, rows) {
if (err) {
console.log(err);
return;
}
var json = JSON.parse(JSON.stringify(rows))[0];
res.send(json); // Send the JSON back as a application/json type response.
});
console.log("Database is connected");
} else {
console.log("Error connecting database");
}
});
})
app.listen(7777, function() {
console.log('Example app listening on port 7777!')
});