Как получить имя объекта массива с помощью Jquery или JS - PullRequest
1 голос
/ 10 сентября 2011

Я думаю, это относительно просто, но я просто не могу понять, как это сделать.

часть файла HTML / JS (Jquery)

  var checkedBox = $('input[name=ProductType]:checked').val();

            $.getJSON('getdata.php', {ProductType: checkedBox}, function(getit) {
                $.each(getit, function(index, array) {

После извлечения массива переменных через JSON из файла PHP.В консоли отображается следующая информация:

Консоль

[{"color":"red"},{"color":"blue"},{"color":"yellow"}]

В зависимости от значения флажка, файл PHP будет возвращать имя объекта массива.(В данном случае «цвет») с соответствующими значениями.

Теперь я хотел бы поймать это имя объекта массива в переменной с помощью Jquery или JS, потому что имена объектов массива могут отличаться.Но как я могу это сделать?

1 Ответ

5 голосов
/ 10 сентября 2011

Я предполагаю, что вы хотите извлечь имя из данных 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"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...