Необходимо конвертировать строку, представленную в формате JSON, в полноценный JavaScript-объект.
Решение
Для решения используем вспомогательную функцию $.parseJSON(json) (листинг 10.3.2).
Листинг 1 0 .3 .2 . Использование вспомога те л ьной ф ун к ции $.parseJSON()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru"> <head> <title>example-10-3-2</title> <content> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="js/jquery-1.5.2.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { var row = '{"name":"John","phone":"555-66-77","age":"45"}'; $("button").click(function(){ var obj = $.parseJSON(row); alert("Имя: " + obj.name + "\nВозраст: " + obj.age + "\nТелефон: " + obj.phone); }); }); </script> </head> <body> <button>JSON</button> </body> </html> |
Обсуждение
В HTML-разметке из листинга 10.3.2 — одна кнопка. При нажатии на нее будем производить конвертировать строку, записанную в формате JSON, в полноценный объект. А для проверки попробуем получить значения свойств этого объекта.
Итак, исходную строку сохраняем в переменной row.
При нажатии на кнопку JSON передаем строку в качестве аргумента во вспомогательную функцию $.parseJSON() и сохраняем результат в переменной obj.
А затем обращаемся к свойствам получившегося объекта по их именам, и полученные значения выводим в окне предупреждения.
Источник: Самков Г. А. jQuery. Сборник рецептов. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. — 416 с.: ил. + CD-ROM — (Профессиональное программирование)