我有一个来自http请求的JSON字符串,我需要将其存储在MySql表,列和行中
我需要在Node.js中执行此操作。通过http请求获取JSON字符串不是问题。 http://lonobox.com/api/index.php?id=100004854
问题是将其转换为列和行并将其存储在MySql中。替代postgre
这是我的JSON字符串
[
{
"200004854": {
"temperature": "14.2",
"humidity":"68"
}
},
{
"200005584": {
"temperature": "20",
"humidity":"51"
}
},
{
"100004854": {
"barometer":"1002"
}
}
]
答案 0 :(得分:0)
您可以尝试使用JSON.parse()解析json数据。 结果将是一个数据数组。 如果您愿意尝试其他数据库,则建议使用mongodb。 这样您就可以直接将数据作为json推送。
答案 1 :(得分:0)
您可以尝试使用express和regular expression npm模块
在使用express和my-sql连接定义“ app”之后,您可以使用类似于以下示例的代码:
app.use(bodyParser.json())
app.get('/', function(req, res) { //handles request when URL is accessed
res.sendFile(path.join(__dirname+ '/myfile.html'));
});
app.post('/', function(req, res) { //handles request when data is sent
var jsondata = req.body;
var values = [];
for(var i=0; i< jsondata.length; i++)
values.push([jsondata[i].name,jsondata[i].age]);
connection.query('INSERT INTO members (name, age) VALUES ?', [values], function(err,result) {
if(err) {
res.send('Error encountered');
}
else {
res.send('Data sent successfully');
}
});
});
当我不得不做类似的事情时,我能够找到的这种方法,这可能是也可能不是最好的方法