可能重复:
How might I extract the property values of a JavaScript object into an array?
所以我有一个json数组从一个非常简单的服务器作为一个数组提供给我的本地服务器。我希望将数据解析为javascript,以便在我的网络应用程序中使用。
如何将JSONP数组转换为javascript数组?并失去JSON中的“名字”。
e.g。
myjsoncallback({"h1": "cmPanel", "h2" : "cmAuto", "h3": 0})
成为
(["cmPanel","cmAuto",0])
感谢提前筹码,我一如既往地感谢您提供的任何帮助!
答案 0 :(得分:3)
这样的东西?
function myjsoncallback(obj) {
var result = [];
for (var key in obj) {
result.push(obj[key]);
}
// result is now an array of the input object's values.
}
如果你正在使用jQuery 1.6+,jQuery's $.map()
function now works against objects并简化语法(尽管它在幕后做同样的事情):
function myjsoncallback(obj) {
var result = $.map(obj, function(value, key) {
return value;
});
}
要使用jQuery $ .getJSON调用正确支持JSONP的服务,可以执行以下操作:
$.getJSON('http://some.api.com/x/y/x?callback=?', function(response) {
var values = $.map(response, function(value, key) {
return value;
});
// Do something with "values" here.
});
当您指定callback=?
而不是硬编码您自己的回调函数名称时,jQuery将自动为每个请求替换唯一命名的一个(这样您就不必担心保持哪个回调执行匹配哪个请求,如果您最终有多个同时请求)。因为它可以为您完成,您可以为回调参数传递一个匿名函数,而不必担心设置独立函数。
答案 1 :(得分:0)
function myjsoncallback(data) {
var output = [];
for (var x in data) {
output.push(data[x]);
}
return output;
}
myjsoncallback({"h1": "cmPanel", "h2" : "cmAuto", "h3": 0});
答案 2 :(得分:0)
var ar = [];
for (var prop in your_json) {
ar.push(your_son[prop]);
}
我希望这会有所帮助