我有一个JSON关联数组
[{"Test":"5:00pm"},{"Testing2":"4:30 pm"}]我想让它变成一个数组,其中
{
theatre = Test
time = 5:00pm
},
{
theatre = Testing2
time = 4:30 pm
}但我不知道如何获取键名并将其设置为值...
有什么帮助吗?我正在寻找Object.keys,但我找不到合适的解决方案。
发布于 2012-08-20 23:24:36
您有一个包含对象值的数组。你需要遍历它们:
var oldArray = [{"Test":"5:00pm"},{"Testing2":"4:30 pm"}];
var newArray = [];
for (var i = 0; i < oldArray.length; i++) {
var keys = Object.keys(oldArray[i]);
newArray.push({
theatre: keys[0],
time: oldArray[i][keys[0]]
});
}http://jsfiddle.net/FNAtw/
这将为您提供一个存储在newArray中的数组,其中包含两个元素。第一个元素是一个包含kvps、theatre: 'Test'和time: '5:00pm'的对象。第二个元素是一个包含kvps、theatre: 'Testing2'和time: '4:30pm'的对象。
发布于 2012-08-20 23:21:18
尝试此解决方法:
var json = '[{"Test":"5:00pm"},{"Testing2":"4:30 pm"}]';
var betterJson = json.replace('{"', '{"theatre":"').replace('":"','",time:"');如果JSON总是像上面那样简单,那么这应该是可行的。但它是易碎的。
发布于 2012-08-20 23:23:07
如果你有一个JS对象,你可以使用Object.keys。这将在最新的浏览器中工作。
你也可以循环每一个项目,只保存第一个项目。
https://stackoverflow.com/questions/12040387
复制相似问题