Javascript 创建json格式的对象

Javascript 创建json格式的对象,javascript,json,Javascript,Json,在我的node(express)应用程序中,我想向客户端发送一个json响应。 它看起来像这样 {"someTshirt": {small : 'available'}, {med : 'available'}, {large : 'not available'} } 我会重复这些大小,并将其可用性附加到响应集。如何在app.js中以纯javascript创建此对象?如何将“someTshirtName”添加到此对象的开头,以及在创建对象后将每个大小的可

在我的node(express)应用程序中,我想向客户端发送一个json响应。 它看起来像这样

{"someTshirt": 
      {small : 'available'},
      {med : 'available'},
      {large : 'not available'}
 }

我会重复这些大小,并将其可用性附加到响应集。如何在app.js中以纯javascript创建此对象?如何将“someTshirtName”添加到此对象的开头,以及在创建对象后将每个大小的可用性追加到此对象?

您可以这样构建对象:

var availability = {"someTshirt": 
    {
        'small': 'available',
        'med' : 'available',
        'large' : 'not available'
    }
};
然后,您可以通过以下方式访问此对象:

availability.someTshirt.small
>>> 'available'
availability.someTshirt.large
>>> 'not available'
不过,我建议您使用布尔值而不是字符串,因为字符串更容易操作。以后仍可以更改显示字符串:

var availability = {"someTshirt": 
    {
        'small': true,
        'med' : true,
        'large' : false
    }
};

if (availability.someTshirt.small) {
    console.log('available');
}
>>> 'available'
[编辑] 对评论的答复:

如果要动态创建对象,可以执行以下操作:

var availability = {};
availability.someTshirt = {};
availability.someTshirt.small = true;
availability.someTshirt.med = true;
availability.someTshirt.large = false;

if (availability.someTshirt.small) {
    console.log("available");
} else {
    console.log("not available");
}
>>> 'available'

availability.someTshirt.small = false;

if (availability.someTshirt.small) {
    console.log("available");
} else {
    console.log("not available");
}
>>> 'not available'

如果需要基于返回到代码中的JSON字符串构建对象,可以使用
eval
语句。例如,您有一个字符串变量
sJsonResult
,其中包含JSON响应。你的代码可以是这样的

var sJsonResult = "{someTshirt: {small : 'available', med : 'available',large : 'not available'}}";

var o;

eval("o = " + sJsonResult);

alert(o.someTshirt.small);

然后使用
JSON.stringify(availability)
或者
res.JSON(availability)
发送itI,我希望能够使用var availability={“someTshirt”:{}创建对象;然后将其余的附加到{}中,我怎么做?