簡體   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