0

Использование массива JSON с объектами в JavaScript

14

У меня есть функция, которая получает массив JSON с объектами. В этой функции я хочу пройтись по массиву, получить доступ к свойствам и использовать их. Например, переменная, которую я передаю в функцию, выглядит так:

[{
  "id": 28,
  "Title": "Швеция"
}, {
  "id": 56,
  "Title": "США"
}, {
  "id": 89,
  "Title": "Англия"
}]

Функция будет выглядеть так:

function test(myJSON) {
  // Возможно, мне нужно будет распарсить myJSON?
  // И затем я хочу пройтись по массиву и получить доступ к ID и Title
}

Есть ли у кого-нибудь предложения, как я могу решить эту задачу?

4 ответ(ов)

0

Ваш массив данных dataArray выглядит следующим образом:

[
   {
      "id":28,
      "Title":"Швеция"
   },
   {
      "id":56,
      "Title":"США"
   },
   {
      "id":89,
      "Title":"Англия"
   }
]

В таком случае вы можете использовать parseJson так:

$(jQuery.parseJSON(JSON.stringify(dataArray))).each(function() {  
    var ID = this.id;
    var TITLE = this.Title;
});

Этот код преобразует массив объектов в строку JSON и затем обратно в объекты, позволяя вам итерироваться через каждый элемент массива. Внутри цикла вы можете получить ID и TITLE для каждого объекта.

0

Ваш вопрос кажется немного неполным, но я предполагаю, что вы ищете способ сделать ваш JSON доступным для вашего кода.

Если у вас есть строка JSON, как в примере выше, тогда вам просто нужно сделать следующее:

var jsonObj = eval('[{"id":28,"Title":"Sweden"}, {"id":56,"Title":"USA"}, {"id":89,"Title":"England"}]');

После этого вы сможете получить доступ к этим переменным с помощью чего-то вроде jsonObj[0].id и так далее.

Если это не то, что вы имели в виду, дайте мне знать, и я постараюсь помочь.

0

@Swapnil Godambe

У меня это работает, если убрать JSON.stringify. Вот так:

$(jQuery.parseJSON(dataArray)).each(function() {  
    var ID = this.id;
    var TITLE = this.Title;
});

Проверьте, возможно, в вашем случае использование JSON.stringify вызывает проблемы.

0

Вы можете использовать следующий код для создания HTML-таблицы из массива объектов в JavaScript. Этот код создает таблицу и заполняет её данными из массива datas, который содержит объекты с id и Title.

var datas = [{"id":28,"Title":"Sweden"}, {"id":56,"Title":"USA"}, {"id":89,"Title":"England"}];
document.writeln("<table border='1' width='100%'>");
document.writeln("<tr><td>No Id</td><td>Title</td></tr>"); 
for(var i=0; i < datas.length; i++){
    document.writeln("<tr><td>" + datas[i].id + "</td><td>" + datas[i].Title + "</td></tr>");
}
document.writeln("</table>");

Объяснение кода:

  1. Создание массива данных: Массив datas содержит объекты с идентификаторами и названиями стран.

  2. Начало таблицы: С помощью document.writeln создается таблица с рамкой и шириной 100%.

  3. Заголовки таблицы: Первая строка таблицы содержит заголовки "No Id" и "Title".

  4. Заполнение данных: Цикл for перебирает каждый объект в массиве datas и выводит значение id и Title в ячейках таблицы.

  5. Закрытие таблицы: В конце таблица закрывается с помощью </table>.

Таким образом, код создает HTML-разметку для отображения данных в виде таблицы. Обратите внимание, что данный метод вставляет HTML в документ, поэтому рекомендуется использовать его с осторожностью, особенно если данные могут поступать из ненадежного источника, чтобы избежать уязвимостей, связанных с XSS.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь