Javascript 为什么我会丢失JSON.stringify()方法的属性?

Javascript 为什么我会丢失JSON.stringify()方法的属性?,javascript,mysql,json,Javascript,Mysql,Json,在过去的几个月里,我开始注意到这一点,我不确定这是什么原因。我正在创建被推送到数组中的对象。在所有具有相同属性的对象被推送到数组之后,我使用JSON.stringify方法将其转换为JSON字符串,以便将该对象数组插入到我的数据库中。我注意到的问题是,其中一些对象缺少应该存在的属性 这是我文件中与这个问题有关的部分 AddPartHandler(){ 让items=this.state.ItemList; 让part=this.state.ItemSelected; 对于(变量i=0;i{ i

在过去的几个月里,我开始注意到这一点,我不确定这是什么原因。我正在创建被推送到数组中的对象。在所有具有相同属性的对象被推送到数组之后,我使用JSON.stringify方法将其转换为JSON字符串,以便将该对象数组插入到我的数据库中。我注意到的问题是,其中一些对象缺少应该存在的属性

这是我文件中与这个问题有关的部分


AddPartHandler(){
让items=this.state.ItemList;
让part=this.state.ItemSelected;
对于(变量i=0;i
在我的列表完成后,我将它准备好并像这样发送给我的数据库

AddBuildHandler(){
让partName=this.state.partName;
让partsArray=this.state.ListToPush;
让数组=[];
让todaysDate=新日期();
todaysDate=(todaysDate.getMonth()+1)+“-”+todaysDate.getDate()+“-”+todaysDate.getFullYear()
让lastId=parseInt(this.state.lastId);
lastId=lastId+1;
//log(JSON.stringify(partsArray));
var ItemObject={
部件名:this.state.AssemblyName,
类型:“组装项”,
类别:“零件”,
单位:“单位”,
IsBulk:“FALSE”,
地点:this.state.Location,
创建日期:今天,
CreatedBy:this.state.User,
PartList:JSON.stringify(partsArray),
重新订购编号:“,
型号:“,
价格:“,
说明:“,
序列号:“,
}
emit('insertNewBuildItem',ItemObject,(布尔值)=>{
if(!boolean){
警报('无法创建程序集项');
}
});
如果我在stringify方法之后做一个控制台日志,我会得到如下结果

{ID:325,序列号:“否”,数量:1},{ID:302,序列号:“否”,数量:1}
但有时我的数据库中显示的是这样的

{ID:325,数量:1},{ID:302,序列号:“否”,数量:1}
这是我的db序列,以防有人需要

export const insertNewBuildItem=(ItemObject)=>{
返回新承诺(异步(解析、拒绝)=>{
试一试{
log(JSON.stringify(ItemObject.PartList))
const insertNewBuildItem=`INSERT INTO dispatch_console.inventory_items(ItemName、Type、Category、IsBulk、DateCreated、Createdby、PartNumber、ModelNumber、Description、Serial、Units、ReorderNumber、PartList、Location)值(${ItemObject.PartName}、${ItemObject.Type}、${ItemObject.Category}、${ItemObject.IsBulk}、'${ItemObject.DateCreated}'、'${ItemObject.CreatedBy}'、'${ItemObject.PartNumber}'、'${ItemObject.ModelNumber}'、'${ItemObject.Description}'、'${ItemObject.Serial}'、'${ItemObject.Units}'、'${ItemObject.ReorderNumber}'、'${ItemObject.PartList}'、'${ItemObject.Location}';
const response=await db(insertNewBuildItem,“将新项插入构建列表”);
决心(回应);
}捕获(e){
console.log(“ERROR inventory.insertNewBuildItem:+e”);
拒绝(e);
}
});
};

我在我的代码中还有很多其他地方做同样的事情,没有任何这些问题,所以在哪里随机省略属性是令人难以置信的。如果有人有任何想法或建议可以帮助我。谢谢!

尝试调试,看看丢失的值是什么。
JSON.stringify
w既然你这么说了,我想我知道发生这种情况的原因了。lol。它还将省略
函数
s和
符号
s