JSON.stringify不能在javascript中使用嵌套数组

时间:2018-06-14 15:33:00

标签: javascript arrays json

我正在尝试JSON.stringify(docArray),其中包含未被字符串化的对象中的嵌套数组。

console.log(docArray); - returns the information below

(3) [{…}, {…}, {…}]
0:
 docName: "name"
 refDoc: Array(3)
   0: "doc1"
   1: "doc2"
   2: "doc3"
   length: 3
   __proto__: Array(0)
 __proto__: Object

当我对对象进行字符串化时,我会收到以下内容:

console.log(JSON.stringfy(docArray));

[{"docName:"name","refDoc":[]},

使用Javascript创建docArray

docArray = [];
for(let i = 0; i < data.length; i++){
  let docElement = {
     "docName": data[i].getAttribute("Title),
     "refDoc": getDoc(data[i].getAttribute("Title"))
 }
};
docArray.push(docElement);
...
console.log(docArray);
console.log(JSON.stringify(docArray));

getDocs函数Javascript

function getDoc(document){
  var refDocs = [];
  $SP().list("listName").get({
    fields:"Title,Parent",
    where:'Title ="'+document+'"',
    }, function(data){
      for(let i = 0; i < data.length; i++){
        refdocs.push(data[i].getAttribute("Parent"));
      }
    });
   return refdocs;
}

我确实有一个类似的项目,它以相同的方式创建一个数组,尽管该数组没有被字符串化的问题。我在下面附上了图片的console.log输出。

console.log(array) - working screenshot

console.log(JSON.stringify(array)) - working JSON.stringify

非常感谢任何帮助,谢谢

0 个答案:

没有答案