Javascript JSON delete []元素

时间:2014-07-08 17:30:49

标签: javascript json is-empty

我有以下JSON:

{
  "BTC_1CR": [],
  "BTC_ABY": [],
  "BTC_AC": [],
  "BTC_ADN": [],
  "BTC_PLX": [
    {
      "orderNumber": "4953620",
      "type": "sell",
      "rate": "0.00000597",
      "amount": "653.85639346",
      "total": "0.00390352",
      "date": "2014-05-30 22:44:40"
    }
  ],
  "BTC_PMC": [],
  "BTC_PPC": []
}

我需要摆脱空的[]元素..

3 个答案:

答案 0 :(得分:5)

对于该数据,这应该有效:

for(var key in json){
    if(json[key].length == 0) delete json[key];
}

答案 1 :(得分:1)

为了从字典中删除某些内容(我认为这是你遇到的问题),只需delete dictionary[key]

答案 2 :(得分:1)

在Javascript中,您可以尝试使用干净的代码,使用变量yourJSONData:

制作JSON
//declare the new object filtered
var JSONwithoutEmptys = {};
for(var key in yourJSONData){
  var item = yourJSONData[key]; 
  if(isArray(item)){
     if(item.length > 0){
         JSONwithoutEmptys[key] = item;
     }
   } else {
      JSONwithoutEmptys[key] = item;
   }
}

function isArray(element){
   var result = false;
   if(Object.prototype.toString.call( element) === "[object Array]"){
      result = true;
   }
   return result;
}
//then you can use JSONwithoutEmptys so clear :D