繁体   English   中英

以json格式创建对象

[英]creating an object in json format

在我的节点(快速)应用程序中,我想将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语句。 例如,您有一个包含JSON响应的字符串变量sJsonResult 你的代码可以像这样;

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

var o;

eval("o = " + sJsonResult);

alert(o.someTshirt.small);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM