Jquery 需要将json键值对转换为标准数组

Jquery 需要将json键值对转换为标准数组,jquery,arrays,json,key-value,Jquery,Arrays,Json,Key Value,我使用jquery的parseJSON()函数将json字符串插入到变量中。问题是,它将我的数据转换为一个对象,而不是二维数组。例如 myData = $.parse(JSON(data)); myData.name// = "Bob" 问题是,“name”不应该是键(假设这是正确的术语)。相反,它应该是: myData[0] // = "name" myData[1] // = "Bob" 我如何转换这个?或者是否有一种不同于使用for循环遍历数组索引的方法(但仍然能够像在二维数组中一样以

我使用jquery的parseJSON()函数将json字符串插入到变量中。问题是,它将我的数据转换为一个对象,而不是二维数组。例如

myData = $.parse(JSON(data));
myData.name// = "Bob"
问题是,“name”不应该是键(假设这是正确的术语)。相反,它应该是:

myData[0] // = "name"
myData[1] // = "Bob"
我如何转换这个?或者是否有一种不同于使用for循环遍历数组索引的方法(但仍然能够像在二维数组中一样以字符串的形式访问键和值)

编辑:这是一些正在使用的json(注意它要长得多)。这是为“数据”给出的


反序列化数据后(例如,您有
myData
,它是一个对象),您可以使用循环遍历其键,然后构建一个组合键和值的数组:

var myData, dataArray, key;
myData = $.parse(JSON(data));
dataArray = [];
for (key in myData) {
    dataArray.push(key);         // Push the key on the array
    dataArray.push(myData[key]); // Push the key's value on the array
}
由于
myData
是在
data
中反序列化JSON的结果,我们知道
myData
是一个通用对象(例如,与
new Foo
或类似的东西相反,只是一个
{}
),所以我们甚至不需要
hasOwnProperty
。如果我们不知道这一点,我们只想枚举
myData
own键和值,我们会添加一个检查:

在你的情况下没有理由这样做,除非有人一直在玩弄
对象。prototype
(在这种情况下,把他们带到木屋后面,把他们藏起来,然后让他们在黑板上写上“我不会玩弄
对象。prototype
几百次),但每当您在中为..使用
时,最好停下来思考A)对象是否保证是普通的,B)如果不是,您是只想要它自己的属性,还是还想要它继承的属性

var data = $.parse(JSON({"feat_3":"4356","feat_4":"45","feat_5":"564","feat_6":"7566"}));

var arr = [];

for( var i in data ) { 
  if( data.hasOwnProperty( i ) ){ 
    arr.push( i,  data[i] );
  }
}
阵列将是:

["feat_3", "4356", "feat_4", "45", "feat_5", "564", "feat_6", "7566"]

你能展示一下你填充
数据的代码吗
添加了一段json,这就是你想要的吗?如果你不介意我说的话,这似乎有点奇怪。为什么要创建一个包含键和键值的平面数组?bob在哪里?因为这就像feat_3可以是bob而不是4356是的,我用了你的例子ra而不是将其移动到“平面阵列”“这更有意义。第一个代码块是金色的。按照它的工作方式,我甚至不需要将它们移动到新阵列。我可以直接分配循环中的数据。精彩的!谢谢,但我发现TJ的解决方案比我原来计划的转换为2d阵列更好。更正。在
push
方法中,可以应用多个参数来填充数组
var data = $.parse(JSON({"feat_3":"4356","feat_4":"45","feat_5":"564","feat_6":"7566"}));

var arr = [];

for( var i in data ) { 
  if( data.hasOwnProperty( i ) ){ 
    arr.push( i,  data[i] );
  }
}
["feat_3", "4356", "feat_4", "45", "feat_5", "564", "feat_6", "7566"]