复制JSON对象

时间:2015-07-22 13:33:39

标签: json

让我们说我有一个JSON对象:

myJson1={
      key1:value1,
      key2:value2
}
myJson2={};

和另一个json对象myJson2 我跑的时候

myJson2 = myJson1; 

所有人都认为第一个对象等于第二个对象。 但现在如果我尝试像这样使用myJson2,

var val = myJson2.key1;
console.log(val); is empty !!!

我做了一些搜索,我发现了一些关于" proto "

2 个答案:

答案 0 :(得分:2)

看起来你正在使用错误的变量来分配给myJson2。

应该是

myJson2 = myJson1;

答案 1 :(得分:2)

Swagin9是对的 - 请确保您的赋值语句正确无误。我会评论那篇文章,但我没有足够的代表,所以我会在这里添加 - 确保定义了value1和value2。他们自己并不意味着什么。要么将它们放在引号中,使它们成为int或booleans等,要么在实例化myJson1之前将它们定义为变量,以确保它们实际上意味着什么。即使使用正确的赋值语句,如果您的JSON对象按照它们现在的方式定义,您仍会收到错误。

例如,这会产生错误:

myJson1={
  key1: value1,
  key2: value2
}
myJson2={};
myJson2 = myJson1;
console.log(myJson2.key1);

这不会产生错误:

myJson1={
  key1: "value1",
  key2: "value2"
}
myJson2={};
myJson2 = myJson1;
console.log(myJson2.key1);