我正在尝试创建以下json对象,我想用tshirt名称创建对象,然后在创建它之后附加一个大小列表。
{ tshirt: 'Vintage 80s',
size: { small: false },
size: { medium: false },
size: { large: true }
}
我可以使用这些代码行轻松创建对象
var availability = {};
availability.tshirt = "Vintage 80s";
但是如何将每个尺寸附加到对象?这是一个节点/快递应用程序,所以我需要一个纯粹的JavaScript解决方案。对于json对象有什么类似于数组的吗?
答案 0 :(得分:4)
对象键是唯一的。您可能希望改用另一个对象:
{ tshirt: 'Vintage 80s',
size: {
small: false,
medium: false,
large: true
}
}
然后您可以使用以下内容访问小尺寸:
availability.size.small
答案 1 :(得分:2)
您不能拥有多个具有相同名称的属性(例如size
),但您可以将所有大小的对象添加到数组中:
{
tshirt: 'Vintage 80s',
sizes: [
{ small: false },
{ medium: false },
{ large: true }
]
}
注意:这不是JSON,只是一个简单的JavaScript对象文字。 JSON是一种表示和交换数据的字符串表示法。
答案 2 :(得分:1)
您现在有一个具有重复键(大小)的对象。我建议创建另一个属性“sizes”并使用对象添加一个数组,表示大小的键值对。
{ tshirt: 'Vintage 80s',
sizes: [{ small: false },
{ medium: false },
{ large: true }]
}
var availability = {};
availability.tshirt = "Vintage 80s";
availability.sizes = [{ small: false }, { medium: false }, { large: true }]];
答案 3 :(得分:1)
您可以像设置tshirt
//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);