我想这相对容易,但我无法弄清楚如何做到这一点。
HTML / JS(Jquery)文件的一部分
var checkedBox = $('input[name=ProductType]:checked').val();
$.getJSON('getdata.php', {ProductType: checkedBox}, function(getit) {
$.each(getit, function(index, array) {
从PHP文件中获取JSON的变量数组后。我可以在控制台中看到以下信息:
控制台
[{"color":"red"},{"color":"blue"},{"color":"yellow"}]
根据复选框的值,PHP文件将返回数组objectname。 (在本例中为“颜色”)及其对应的值。
现在我想在带有Jquery或JS的var中捕获这个数组objectname,因为数组对象名可以不同。但是我怎么能这样做呢?
答案 0 :(得分:5)
我猜你想要做的是从JSON数据中提取名称。如果您有从PHP JSON返回的数据:
var getit = [{"color":"red"},{"color":"blue"},{"color":"yellow"}];
并且,您希望从中获取公共属性名称,并且数组中的所有值都具有相同的名称,您可以这样:
function getKeyName(data) {
var firstItem = data[0]; // look at first array element
for (var i in firstItem) {
return(i); // return first property name found
}
}
var attributeName = getKeyName(getit);
如果您控制JSON数据格式,我认为这样的数据格式会更有用:
{"name": "color", "values": ["red", "blue", "yellow"]}
然后你可以直接访问:
data.name // "color"
data.values // ["red", "blue", "yellow"]