Javascript foreach用于JSON数组,语法
我的脚本从php服务器端脚本中获取一些数组Javascript foreach用于JSON数组,语法,javascript,jquery,json,Javascript,Jquery,Json,我的脚本从php服务器端脚本中获取一些数组 result = jQuery.parseJSON(result); 现在我想检查数组的每个变量 if (result.a!='') { something.... } if (result.b!='') { something.... } .... 有没有更好的方法让它像php中的“foreach”、“while”或smth一样快速 更新 这段代码(多亏了hvgotcodes)给了我数组中变量的值,但是我怎样才能同时得到变量的名称呢 for(va
result = jQuery.parseJSON(result);
现在我想检查数组的每个变量
if (result.a!='') { something.... }
if (result.b!='') { something.... }
....
有没有更好的方法让它像php中的“foreach”、“while”或smth一样快速
更新
这段代码(多亏了hvgotcodes)给了我数组中变量的值,但是我怎样才能同时得到变量的名称呢
for(var k in result) {
alert(result[k]);
}
更新2
这就是php端的工作原理
$json = json_encode(array("a" => "test", "b" => "test", "c" => "test", "d" => "test"));
你可以这样做
for(var k in result) {
console.log(k, result[k]);
}
循环返回的json中的所有键并打印值。但是,如果有嵌套结构,则需要使用
typeof result[k] === "object"
以确定是否必须在嵌套对象上循环。我使用过的大多数API,开发人员都知道返回内容的结构,因此这是不必要的。然而,我认为这种期望可能并不适用于所有情况。当然,您可以使用JS的foreach
for (var k in result) {
something(result[k])
}
试试这个:
$.each(result,function(index, value){
console.log('My array has at position ' + index + ', this value: ' + value);
});
您可以使用JavaScript的.forEach()方法来循环JSON
var-datesBooking=[
{“日期”:“04\/24\/2018”},
{“日期”:“04\/25\/2018”}
];
forEach(函数(数据、索引){
控制台日志(数据);
});代码>你会想用方括号括起来。编辑:你修好了。是的,我实际上是通过在控制台中尝试来确定的这很有效。但是还有一个问题,我怎样才能得到数组中那些变量的名称?@david,它是数组还是对象文字?@david,更新了答案--k
是键,result[k]是值。如果我没弄错的话,你可以通过使用每个JSON对象的名称访问其属性,就像访问属性一样。e、 g.JSONObject.name
获取包含{'name':'foo'}