javascript – 用方括号包围的JSON.stringify(数组)

前端之家收集整理的这篇文章主要介绍了javascript – 用方括号包围的JSON.stringify(数组)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将一个数据数组插入到sqlite数据库的多个列中,我得到它几乎使用它:
function InsertData(dbData){
  var valueArray = [],dataArray = [];
  var values = Object.keys(dbData);
  for(var key in values){
    valueArray[valueArray.length] = values[key];
    dataArray[dataArray.length] = dbData[values[key]];
  }
  console.log("INSERT INTO "+dbData.table+" ("+valueArray+") VALUES ("+JSON.stringify(dataArray)+")");
  dbData.database.serialize(function(){
    dbData.database.run("INSERT INTO "+dbData.table+" ("+valueArray+") VALUES ("+JSON.stringify(dataArray)+")");
  });
}

我的数据构造如下:

//app.js
function EventData(title,value,other){
  this.title = title;
  this.value = value;
  this.other = other;
}
EventData.prototype = new dbtools.DBData(usuevents,'event');
var thisEventData = new EventData('newData',4,2);

//dbtools.js
DBData = function(database,table){
  this.database = database;
  this.table = table;
};

console.log输出INSERT INTO事件(标题,值,其他)VALUES([“newData”,2])
我只需要删除[]方括号([“newData”,2]).
我该怎么做?此外,如果有更好的方法将数据插入sqlite即时通知建议.谢谢

解决方法

JSON.stringify(dataArray)将始终返回方括号,因为dataArray的类型为array.相反,您可以对数组的每个元素进行字符串化,然后用逗号分隔它们.
dataArray = dataArray.map(function(e){
  return JSON.stringify(e);
});

dataString = dataArray.join(",");

然后

["newData",2]

"newData",2

附录:请不要尝试手动替换()括号,因为可能有一天括号以字符串形式进入阵列.例如[“请参见参考文献[1]”,2]

猜你在找的JavaScript相关文章