Can';t解析从MySQL返回的JSON
我有一个Node.js应用程序正在将数据写入MySQL后端。一个字段是我字符串化的数组。我可以在工作台上看到数据库中的数据是正确的。然而,当我检索它时,当我试图解析它时,我得到了一个错误 “JSON中位置1处的意外标记o” 如果我记录结果,它将显示为Can';t解析从MySQL返回的JSON,mysql,node.js,Mysql,Node.js,我有一个Node.js应用程序正在将数据写入MySQL后端。一个字段是我字符串化的数组。我可以在工作台上看到数据库中的数据是正确的。然而,当我检索它时,当我试图解析它时,我得到了一个错误 “JSON中位置1处的意外标记o” 如果我记录结果,它将显示为[Object Object] 从我在线阅读的内容来看,这意味着它已经是一个JS对象,我不需要解析它。但是,我找不到任何关于如何访问数据的信息 process: function (bot, msg, suffix) { var ftcmd
[Object Object]
从我在线阅读的内容来看,这意味着它已经是一个JS对象,我不需要解析它。但是,我找不到任何关于如何访问数据的信息
process: function (bot, msg, suffix) {
var ftcmds = suffix.split(" ", 1);
var ftName = ftcmds[0];
var ftArray;
var selectSQL = "SELECT FireTeam FROM fireteam WHERE Name = '" + ftName + "'";
var updateSQL = "UPDATE fireteam SET FireTeam = '" + ftArray + "'WHERE Name = '" + ftName + "'";
mysqlcon.query(selectSQL, function (err, result) {
console.log("Result |" + result);
console.log("Error |" + err);
if (err) {
console.log("Caught Error " + err + " " + msg.author);
}
else {
console.log("Recovered result " + result);
ftArray = result;
console.log("Attempting to update array");
ftArray.push(msg.author.id);
console.log("updated array " + ftArray);
var jsonArray = JSON.stringify(ftArray);
mysqlcon.query(updateSQL, function (err, result) {
console.log("Result |" + result);
console.log("Error |" + err);
if (err.toString().indexOf(dupErr) != -1) {
msg.author.send("Could not find that fireteam");
console.log("Error: Did not locate the requested name " + msg.author)
} else if (err) {
console.log("Caught Error " + err + " " + msg.author);
}
else {
msg.author.send("You have joined Fireteam " + name + ". I will setup a group chat on " + date + " if your team fills up.");
}
})
}
});
}
您应该能够将其作为对象进行访问,因此,如果结果包含字段名称和标题,您可以通过以下方式进行访问:
var name = result.name
var title = result.title
如果它没有字段呢?这是一个简单的字符串数组,我想我可能用错了。然后你可以将字符串作为数组访问(例如结果[0],结果[1],等等)