从js

时间:2016-02-12 05:26:05

标签: javascript json

我在.json文件中有数据,格式为:



{
   "ObjectA": {},
   "ObjectB": {},
   "ObjectC": {}
}




我想删除名称(ObjectA,B等),所以我最终得到了匿名'对象:



{
    {},
    {},
    {}
}




Delete仅删除对象的属性,因此无法正常工作。怎么办?

2 个答案:

答案 0 :(得分:1)

可能不是最干净的方法,但可以完成工作。 (我添加了值,因此您的控制台日志更容易看到数据即将发生。

var obj = {
   ObjectA: {fu:'bar'},
   ObjectB: {iheart:'pizza'},
   ObjectC: {something:'value'}
};
var obj2 = {};

var i = 0;
for (var key in obj) {
    obj2[i] = obj[key];
    i++;
}
obj = obj2; // don't really need this - could just use obj2
console.log(obj);

我确信这可以用更少的代码清理和编写,但你至少可以通过一种方式来实现这一点。

答案 1 :(得分:0)

据我所知,数据只能以一种形式表示,即:Key->值。在每种情况下,无论您是在谈论堆中的JSON数据,MYSQL数据还是对象分配。

为了方便起见,我们将广义数据存储在两种方法中。

  1. 词典中的数据
  2. 数组中的数据
  3. Dictionary使用唯一的"键"来保存每个数据。就像你已经在json" ObjectA"是关键。并且Array还保存具有唯一密钥用户的数据,而不必在将数据推入阵列时指定该密钥。我们称之为键#34;索引"。

    因此技术上数组也是一个字典,自动递增"键"对于每个数据。

    现在,让我们明白一点。您希望在没有任何密钥的情况下将数据保存在json中。这意味着您必须在ARRAY中保存数据。

    像:

    {
       objects : { [{}, {}, {} ]}
    }
    

    但请记住,您需要将该数组保存在任何"键"旁边。您无法摆脱key->值规则。