Javascript 追加/推送到json对象

Javascript 追加/推送到json对象,javascript,json,Javascript,Json,我正在尝试创建以下json对象,我想创建一个带有tshirt名称的对象,然后在它被创建之后向它添加一个大小列表 { tshirt: 'Vintage 80s', size: { small: false }, size: { medium: false }, size: { large: true } } 我可以用这些代码行轻松创建对象 var availability = {}; availability.tshirt = "Vintage 80s"; 但是如何将每

我正在尝试创建以下json对象,我想创建一个带有tshirt名称的对象,然后在它被创建之后向它添加一个大小列表

{ tshirt: 'Vintage 80s',
    size: { small: false },
    size: { medium: false },
    size: { large: true }
}
我可以用这些代码行轻松创建对象

var availability = {};
availability.tshirt = "Vintage 80s";

但是如何将每个尺寸附加到对象上呢?这是一个node/express应用程序,所以我需要一个纯javascript解决方案。json对象是否像数组一样有点像.push?

对象键是唯一的。您可能希望改用另一个对象:

{ tshirt: 'Vintage 80s',
  size: {
    small: false,
    medium: false,
    large: true
  }
}
然后,您可以通过以下方式访问小尺寸:

availability.size.small

不能有多个名称相同的属性(如
size
),但可以将所有大小对象添加到数组中:

{ 
    tshirt: 'Vintage 80s',
    sizes: [
        { small: false },
        { medium: false },
        { large: true }
    ]
}

注意:这不是JSON,只是一个普通的JavaScript对象文本。JSON是一种表示和交换数据的字符串符号。

您现在有了一个具有重复键(大小)的对象。我建议创建另一个属性“size”,并向其中添加一个包含对象的数组,表示大小的键值对

{ tshirt: 'Vintage 80s',
  sizes: [{ small: false },
     { medium: false },
     { large: true }]
}


var availability = {};
availability.tshirt = "Vintage 80s";
availability.sizes = [{ small: false }, { medium: false }, { large: true }]];

您可以像设置T恤一样设置它

//Create an object of sizes
var sizes = {
    small: false,
    medium: false,
    large: true
}

//Create your availability object.
var availability = {};
availability.tshirt = "Vintage 80s";

//Assign the sizes
availability.sizes = sizes;

//Log the results, change out small for medium or large
console.log(availability.sizes.small);

是的,我比我建议的阵列更喜欢这个。