Javascript 如何将json转换为java脚本数组?
我有json字符串,比如Javascript 如何将json转换为java脚本数组?,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我有json字符串,比如 string js=[{"Name":"Pini","ID":"111"}, {"Name":"Yaniv","ID":"123"}, {"Name":"Yoni","ID":"145"}] 我需要使用java脚本将其转换为如下格式 [['Pini',111],['Yaniv',123],['Yoni',145]] 如何使用javascript函数将json字符串转换为javascript数组?您可以这样做 你可以这样做 我是这样想的: var ret = []
string js=[{"Name":"Pini","ID":"111"},
{"Name":"Yaniv","ID":"123"},
{"Name":"Yoni","ID":"145"}]
我需要使用java脚本将其转换为如下格式
[['Pini',111],['Yaniv',123],['Yoni',145]]
如何使用javascript函数将json字符串转换为javascript数组?您可以这样做
你可以这样做
我是这样想的:
var ret = [];
for (var i = 0; i < js.length; i++) {
ret.push([js[i].Name, js[i].ID]);
}
// ret holds your array of arrays
两者都有一个例子:我想是这样的:
var ret = [];
for (var i = 0; i < js.length; i++) {
ret.push([js[i].Name, js[i].ID]);
}
// ret holds your array of arrays
两者的一个例子:对于这种转换,我总是喜欢使用,这是一个用于Javascript的实用程序带库(主要用于对象/数组转换)。我认为它提供了非常好的功能,使生活变得更加简单,允许javascript开发人员提高工作效率,并为生成的代码实现更好的易读性 以下是带下划线(扩展)的解决方案: 这样你就达到了预期的效果:
[['Pini',111],['Yaniv',123],['Yoni',145]]
一行解决方案带下划线:
var result = _.zip(_.pluck(js, 'Name'), _.pluck(js, 'ID'))
希望有帮助 对于这种转换,我总是喜欢使用,这是一个用于Javascript的实用程序库(主要用于对象/数组转换)。我认为它提供了非常好的功能,使生活变得更加简单,允许javascript开发人员提高工作效率,并为生成的代码实现更好的易读性 以下是带下划线(扩展)的解决方案: 这样你就达到了预期的效果:
[['Pini',111],['Yaniv',123],['Yoni',145]]
一行解决方案带下划线:
var result = _.zip(_.pluck(js, 'Name'), _.pluck(js, 'ID'))
希望有帮助 我纠正了我的解决方案,我没有很好地阅读规范(我的错):
此解决方案使用jQuery。我更正了我的解决方案,我没有很好地阅读规范(我的错误):
这个解决方案使用jQuery。这里有一个解决方案可以用于简单对象(虽然不是深度对象……但我将留给您实现) 编辑 下面是一个使用
Array.prototype.map
的版本:
这里有一个解决方案,它适用于一个简单的对象(虽然不是深度对象…,但我将把它留给您来实现) 编辑 下面是一个使用
Array.prototype.map
的版本:
既然您使用的是jquery,那么您应该试试$.parseJSON(),为什么会有否决票?jquery是这个问题的标签之一:/我也被否决了,因为我提出的解决方案没有任何解释。其他用户也被否决。这是不公平的。既然您使用的是jquery,您应该试试$.parseJSON(),为什么会有否决票?jquery是这个问题的标签之一:/我也被否决了,因为我提出的解决方案没有任何解释。其他用户也被否决。这不公平。我不明白为什么有人在这里否决了我的答案。这是一个正确的答案(任何人都可以在控制台中进行测试),我使用了一个著名的javascript库,它解决了用户提出的问题,显示了研究成果。在这种情况下投否决票是完全不公平的。我不明白为什么有人在这里否决了我的答案。这是一个正确的答案(任何人都可以在控制台中进行测试),我使用了一个著名的javascript库,它解决了用户提出的问题,显示了研究成果。在这种情况下投否决票是完全不公平的。为什么投否决票?。。。我给OP提供了问题的两个复制粘贴解决方案=0\n我也被否决了,没有解释!顺便说一句,所有的解决方案都很好。为什么投反对票?。。。我给OP提供了问题的两个复制粘贴解决方案=0\n我也被否决了,没有解释!顺便说一句,所有的解决方案都很好。有些人喜欢投否决票,不做解释或讨论。如果一个解决方案似乎不合适,也许留下评论会更专业一些。有人喜欢投否决票,不做解释或讨论。如果一个解决方案似乎不合适,也许留下评论会更专业一些。
var jsonArray = [{"Name":"Pini","ID":"111"}, {"Name":"Yaniv","ID":"123"}, {"Name":"Yoni","ID":"145"}];
var jsonConverted = {};
$(jsonArray).each( function() {
jsonConverted.push([ this.Name, this.ID ]);
});
var js = [{
"Name": "Pini",
"ID": "111"},
{
"Name": "Yaniv",
"ID": "123"},
{
"Name": "Yoni",
"ID": "145"}]
function obj2arr(obj) {
var i, key, length = obj.length,
aOutput = [],
aObjValues;
for (i = length - 1; i >= 0; i--) {
aObjValues = [];
for (key in obj[i]) {
if (obj[i].hasOwnProperty(key)) {
aObjValues.push(obj[i][key]);
}
}
aOutput.push(aObjValues);
}
return aOutput;
}
document.write(JSON.stringify(obj2arr(js)))
function obj2arr(obj) {
var key, aOutput = [];
for (key in obj) {
if (obj.hasOwnProperty(key)) {
aOutput.push(obj[key]);
}
}
return aOutput;
}
document.write(JSON.stringify(js.map(obj2arr)))