解析复杂对象时,JSON.stringify返回空对象

时间:2016-02-23 17:22:29

标签: javascript json object

我知道这个问题之前已经被问了很多,但我花了4个多小时试图弄清问题是什么,但我没有找到类似案例的运气。我有复杂的javascript对象,我需要使用Json.stringfy()方法将其转换为Json,但问题是我总是得到空的Object。 Here is a screenshot for the object, 和this is the result我在调用json.stringfy()之后得到了。

以下是创建对象的代码:

{{1}}

2 个答案:

答案 0 :(得分:2)

这里有一个问题:

    self.Projects.push([]);
    self.Projects[i].Years = new Array();

在这种情况下,self.projects[i]是一个数组,这意味着它不会(不能)拥有一个名为Years的属性。相反,推送一个新的对象:

    self.Projects.push({});
    self.Projects[i].Years = new Array();

答案 1 :(得分:0)

就我而言:

我已初始化为数组,但将其视为对象。

在JSON.stringify之后导致空对象。

let sample: any = [];
Object.assign(sample, {item : "a"});
let stringfied = JSON.stringify(sample);

更正类型后解决。

let sample: any = {};