История и наследие jquery

Список функций

Название Описание
$.contains() Проверяет, содержится ли один элемент страницы внутри 
другого.
$.extend()  Объединяет два или более javascript-объекта.
$.globalEval() Выполняет заданный скрипт в глобальной области 
видимости.
$.grep() Ищет в заданном массиве элементы удовлетворяющие 
условиям.
$.inArray() Ищет в заданном массиве конкретный элемент и 
возвращает его индекс (или -1 в случае отсутствия 
элемента).
$.isArray() Проверяет, является ли заданный элемент массивом.
$.isEmptyObject() Проверяет наличие (точнее отсутствие) содержимого в 
заданном объекте.
$.isFunction() Проверяет, является ли заданный элемент функцией.
$.isNumeric()  Проверяет, является ли заданный элемент числом.
$.isPlainObject() Проверяет, является ли заданный элемент 
пользовательским объектом (задан 
средствами «{}» или «new Object»).
$.isWindow() Проверяет, является ли заданный элемент объектом типа 
window.
$.isXMLDoc() Проверяет, находится ли DOM-объект внутри XML-документа (или сам является XML-документом).
$.makeArray()  Конвертирует массиво подобные объекты, в массивы.
$.map() Выполняет заданную функцию для каждого элемента 
массива или каждого поля объекта в отдельности.
$.merge() Объединяет содержимое нескольких массивов, записывая 
его в первый из них.
$.noop()  Пустая функция.
$.parseJSON()  Конвертирует строку с json-данными в javascript-объект.
$.parseXML() Конвертирует строку xml в xml-документ.
$.proxy() По заданной функции, создает другую, внутри которой 
переменная this будет равна заданному значению.
$.trim()  Удаляет пробелы из начала и конца заданной строки.
$.type() Определяет класс заданного объекта (речь идет о 
внутренних классах javascript: string, boolean и т.д.).
$.unique() Сортирует заданный массив с DOM-элементами, 
выстраивая их в порядке расположения в DOM, а так же 
удаляя повторения.

Получение библиотеки jQuery UI

Процесс загрузки библиотеки jQuery UI отличается несколько большей сложностью по сравнению с другими библиотеками JavaScript, но результат будет стоить затраченных усилий. Библиотека jQuery UI охватывает пять областей функциональности, и вам предоставляется возможность самостоятельно сконфигурировать загрузочный архив, включив в него лишь необходимые компоненты. В этой части вы познакомитесь со всеми возможностями библиотеки jQuery UI, но при работе с реальными веб-приложениями можно исключать ненужные компоненты для уменьшения размера библиотеки, загружаемой браузерами.

Выбор темы оформления

Прежде чем приступить к созданию собственной библиотеки jQuery UI, вы должны выбрать тему оформления. Библиотека jQuery UI предлагает богатейшие возможности и способы выбора конфигураций, благодаря чему можно с легкостью изменить внешний вид любого используемого средства. В действительности число доступных возможностей выбора настолько велико, что иногда это поистине ошеломляет.

На сайте jQuery UI можно воспользоваться услугами специального приложения — настройщика тем (Themeroller), но кроме того существует целая галерея предопределенных тем, полностью готовых к использованию, из которых можно выбрать ту, которая вас больше всего устраивает, и тем самым облегчить себе жизнь.

Начните с посещения сайта jqueryui.com и щелкните на кнопке Themes. В результате откроется страница ThemeRoller, отображающая виджеты jQuery UI и расположенную слева от них панель настроек, с помощью которой можно установить параметры темы оформления, как показано на рисунке:

Если у вас уже используется определенный визуальный стиль, которого вы должны придерживаться, и вы хотите, чтобы визуальный интерфейс средств JQuery UI согласовывался с остальной частью сайта или приложения, то вкладка Roll Your Own (которая выбирается по умолчанию) — это как раз то, что нужно. Можно изменить любой аспект оформления с помощью набора стилей CSS, который используется библиотекой jQuery UI.

Чтобы получить одну из готовых тем, следует перейти на вкладку Gallery. На момент написания этих строк галерея включала 24 темы, охватывающие широкий спектр вариантов цветового оформления — от приглушенных и нежных тонов до ярких и вызывающих. При выполнении щелчков на темах галереи внешний вид виджетов, отображаемых на остальной части страницы, будет соответствующим образом обновляться, позволяя вам оценить, как может выглядеть приложение:

Используемая для jQuery UI стандартная тема носит название UI lightness, но эта тема недостаточно контрастна, и поэтому я буду использовать тему Sunny, которая выглядит немного лучше. Единственное, что от вас сейчас требуется — это запомнить название темы, которая вас устраивает.

Создание настраиваемого загрузочного архива библиотеки jQuery UI

Выбрав для себя определенную тему оформления, можете приступить к созданию собственного варианта загрузки библиотеки jQuery UI. Щелкните на кнопке Download в верхней части страницы для перехода на страницу Download Builder. Вы увидите список компонентов jQuery UI, разбитых на четыре функциональные группы: UI Core, Interactions, Widgets и Effects.

Выбирая лишь те возможности, которые действительно нужны вашему проекту, вы уменьшите размер набора файлов, который должны будут загружать браузеры. Сама по себе эта идея неплохая, но я придерживаюсь другого подхода. С моей точки зрения, гораздо лучше сэкономить часть полосы пропускания своего канала связи и переложить задачу доставки jQuery UI в браузеры на одну из сетей распространения содержимого, о чем будет говориться далее.

Для выполнения примеров вам понадобятся все компоненты, поэтому проследите за тем, чтобы были установлены все флажки.

Между некоторыми компонентами, фигурирующими в списке, существуют зависимости, но в процессе создания своего варианта библиотеки можете об этом не думать. Если вы выбираете какой-либо компонент, то одновременно с ним загрузятся все компоненты, от которых он зависит.

Следующий шаг заключается в выборе темы. Это делается с помощью раскрывающегося списка, который располагается снизу на странице, как показано на рисунке:

У вас также есть возможность выбрать конкретную версию библиотеки jQuery UI, которая должна быть включена в загрузочный архив. Вам потребуется загрузить стабильную (Stable) версию, которая работает со всеми версиями библиотеки jQuery, начиная с версии 1.3.2.

После выделения всех компонентов и выбора темы и стабильной версии загрузите созданный вами пользовательский вариант загрузочного архива библиотеки jQuery UI, щелкнув на кнопке Download.

О вреде CDN, сервисов и шрифтов от Google

Из песочницы

Как известно, сегодня все больше и больше разработчиков предпочитают грузить js-библиотеки из CDN Google (например, jQuery). Более того, это даже считается хорошим тоном — в более чем 50% случаев тот же jQuery находится в кэше браузера пользователя благодаря посещению других сайтов, использующих тот же CDN. И все бы хорошо — к вашему серверу меньше обращений, у пользователя сайт грузится быстрее… Видимых недостатков нет.
А что если вы работаете на глобальном рынке? Использованием googleapis вы сразу отсекаете огромную часть пользователей из Китая!
Большой китайский фаервол блокирует не только поисковик от Google, но и все его сервисы, в числе которых и CDN. Таким образом, в Китае Ваш сайт становится либо недоступен (если Вы подключаете jQuery до body), либо работает не совсем так, как вы ожидаете (если jQuery подключается в конце кода). То же самое касается шрифтов от Google, графиков от Google, reCaptcha от Google и всего остального «от Google».Вывод: Если Вам интересны пользователи из Китая — следует пересмотреть свое мнение на предмет загрузки библиотек или шрифтов с гугловских CDN.

Выбор элементов

Одна из самых важных областей применения функциональности jQuery — это выбор элементов DOM. В качестве примера ниже показано, как осуществить выбор нечетных элементов img:

Чтобы выбрать элементы, вы просто передаете селектор функции $(). Библиотека jQuery поддерживает все множество CSS-селекторов, а также некоторые дополнительные селекторы, которые обеспечивают удобные возможности детализированного управления процессом выбора элементов. В данном примере используется псевдоселектор :odd, который выбирает нечетные элементы, соответствующие основной части селектора (в данном случае это селектор img, который выбирает все элементы <img>).

В случае использования селектора :odd отсчет элементов начинается с нуля, т.е. первый элемент является четным. Поначалу это может сбивать вас с толку. Наиболее полезные селекторы jQuery перечислены в таблице ниже:

Расширенные селекторы jQuery
Селектор Описание
:animated Выбирает все анимируемые в данный момент элементы
:contains(текст) Выбирает все элементы, содержащие указанный текст
:eq(n) Выбирает элемент с индексом n (индексы отсчитываются от нуля)
:even Выбирает все четные элементы (индексы отсчитываются от единицы)
:first Выбирает первый из подходящих элементов
:gt(n) Выбирает все элементы, индекс которых превышает n (индексы отсчитываются от нуля)
:has(селектор) Выбирает элементы, которые содержат хотя бы один элемент, соответствующий указанному селектору
:last Выбирает последний из подходящих элементов
:lt(n) Выбирает все элементы, индекс которых меньше n (индексы отсчитываются от нуля)
:odd Выбирает все нечетные элементы (индексы отсчитываются от единицы)
:text Выбирает все текстовые элементы

Я назвал эти селекторы наиболее полезными, поскольку они определяют функциональность, обеспечить которую с помощью селекторов CSS было бы нелегко.

В jQuery определены также селекторы, позволяющие выбирать элементы в соответствии с их типом:

Расширенные селекторы типов, определенные в jQuery
Селектор Описание Соответствующий элемент html
:button Выбирает все элементы типа button <input type=»button» value=»Input Button»>
:checkbox Выбирает все элементы типа checkbox <input type=»checkbox»>
:file Выбирает все элементы типа file <input type=»file»>
:header Выбирает все элементы заголовков <h1>, <h2> и т.д.
:hidden Выбирает все скрытые элементы <input type=»hidden»>
:image Выбирает все элементы input для изображений <input type=»image»>
:input Выбирает все элементы input
:parent Выбирает все элементы, являющиеся родительскими по отношению к другим элементам
:password Выбирает все элементы, являющиеся паролями <input type=»password»>
:radio Выбирает все элементы типа radio <input type=»radio»>
:reset Выбирает все элементы типа reset <input type=»reset»>
:selected Соответствует всем выбранным элементам
<select>
    <option>Option<option/>
</select>
:submit Выбирает все элементы типа submit <input type=»submit»>
:visible Выбирает все видимые элементы

Плюс: простой доступ к странице

В чистом JavaScript обра­тить­ся к объ­ек­ту на стра­ни­це мож­но одним из способов:

document.getElementById(«myElement»)document.getElementsByTagName(«td»)document.getElementsByClassName(«myClass»)

и еще несколь­ко подобных

В jQuery то же самое дела­ет одна пре­крас­ная коман­да. Заод­но она же сов­ме­ща­ет в себе кучу дру­гих функ­ций. Фак­ти­че­ски она гово­рит jQuery: «Возь­ми ЭТО и сде­лай с ним что-то»:

$(«myElement»)

Поэто­му какие-то про­стые мани­пу­ля­ции с объ­ек­та­ми на стра­ни­це выгля­дят эле­гант­нее имен­но с jQuery. Это не зна­чит, что их нель­зя делать с про­стым JavaScript — мож­но. Но это не так красиво.

Пример манипуляции с объектами

Пред­ставь­те, что у нас есть стра­ни­ца, на кото­рой есть важ­ные плаш­ки. Такие же, как на этой, и у всех задан класс “SomeClass”. И в зави­си­мо­сти от вре­ме­ни суток, бра­у­зе­ра или настро­е­ния про­грам­ми­ста сайт дол­жен эти плаш­ки скры­вать, добав­лять новые или как-то их менять. Вот, что мож­но, к при­ме­ру, с ними делать:

уда­лять все плашки:

var $elem = $(«.SomeClass») //Выбираем элементы.

$elem.remove(); //Удаляем их.

добав­лять новые:

$elem.prepend($someOtherElem);

встав­лять ещё одни перед ними:

$elem.before($someOtherElem);

заме­нять их на что-то другое:

$elem.replaceWith($someOtherElem);

и про­сто плав­но пока­зы­вать на экране:

$elem.fadeIn();

Как пользоваться

Прочтите наши рекомендации по загрузке и использованию фреймворка.

Загрузка и установка

Создатели jQuery не взымают плату за использование разработки. Вы можете скачать файлы с официального сайта с помощью кнопки, прикрепленной к обзору.

После распаковки архива вы получите 2 файла, каждый из которых можно привязать к веб-странице:

  • jQuery.js. Файл содержит все библиотеки, необходимые для разработки сайтов и веб-приложений. В файле находится несжатый JavaScript-код.
  • jQuery.min.js. Данный компонент применяется при развертывании сайтов и приложений для пользователей. Содержит тот же код, только в более сжатом виде – без пробелов и с односимвольными именами переменных.

Также к двум описанным версиям приложен упакованный вариант с меньшим весом. Однако прелоадер, созданный с использованием данного инструмента, будет открываться значительно дольше.

Инструкция по работе

Перед началом использования инструмента следует добавить jQuery в рабочий файл. Удобство заключается в том, что библиотека встраивается вводом всего одной команды. Структура кода со всеми необходимыми тегами и местоположением имени файла указана на скриншоте выше.

Также библиотеку необязательно подключать с локального диска. В качестве замены можно использовать специальную сеть CDN (Content Delivery Networks). Для этого необходимо вместо обычного названия файла вставить ссылку «https://code.jquery.com/название-библиотеки».

Зачем современную веб-разработку так усложнили? Часть 1

  • Перевод
  • Tutorial

Современная фронтенд-разработка оставляет полярные впечатления: одни её любят, другие презирают.
Я большая поклонница современной веб-разработки, хотя она мне напоминает некую «магию», со своими плюсами и минусами:

  • Когда вы поймёте, как использовать волшебные инструменты (babel! бандлеры! вотчеры! и так далее!), ваш рабочий процесс становится быстрым, мощным и восхитительным
  • Если вы не понимаете волшебные инструменты, всё ужасно запутанно
  • …и попытки освоить магию слишком часто неудачны, если вам кто-нибудь не поможет продраться через джунгли жаргона, преувеличений и устаревшей информации в интернете

jQuery UI 1.10

uncompressedminified

Themes

black-tieblitzercupertinodark-hivedot-luveggplantexcite-bikeflickhot-sneakshumanityle-frogmint-chocovercastpepper-grinderredmondsmoothnesssouth-streetstartsunnyswanky-pursetrontasticui-darknessui-lightnessvader

Previous Releases

  • jQuery UI 1.10.3 — uncompressed, minified, theme
  • jQuery UI 1.10.2 — uncompressed, minified, theme
  • jQuery UI 1.10.1 — uncompressed, minified, theme
  • jQuery UI 1.10.0 — uncompressed, minified, theme
  • jQuery UI 1.10.0-rc.1 — uncompressed, minified, theme
  • jQuery UI 1.10.0-beta.1 — uncompressed, minified, theme

How to build your own jQuery

First, clone the jQuery git repo.

Then, enter the jquery directory and run the build script:

cd jquery && npm run build

The built version of jQuery will be put in the subdirectory, along with the minified copy and associated map file.

If you want to create custom build or help with jQuery development, it would be better to install grunt command line interface as a global package:

Make sure you have installed by testing:

Now by running the command, in the jquery directory, you can build a full version of jQuery, just like with an command:

There are many other tasks available for jQuery Core:

Modules

Special builds can be created that exclude subsets of jQuery functionality.
This allows for smaller custom builds when the builder is certain that those parts of jQuery are not being used.
For example, an app that only used JSONP for and did not need to calculate offsets or positions of elements could exclude the offset and ajax/xhr modules.

Any module may be excluded except for , and . To exclude a module, pass its path relative to the folder (without the extension).

Some example modules that can be excluded are:

  • ajax: All AJAX functionality: , , , , , transports, and ajax event shorthands such as .
  • ajax/xhr: The XMLHTTPRequest AJAX transport only.
  • ajax/script: The AJAX transport only; used to retrieve scripts.
  • ajax/jsonp: The JSONP AJAX transport only; depends on the ajax/script transport.
  • css: The method. Also removes all modules depending on css (including effects, dimensions, and offset).
  • css/showHide: Non-animated , and ; can be excluded if you use classes or explicit calls to set the property. Also removes the effects module.
  • deprecated: Methods documented as deprecated but not yet removed.
  • dimensions: The and methods, including and variations.
  • effects: The method and its shorthands such as or .
  • event: The and methods and all event functionality.
  • event/trigger: The and methods.
  • offset: The , , , , and methods.
  • wrap: The , , , and methods.
  • core/ready: Exclude the ready module if you place your scripts at the end of the body. Any ready callbacks bound with will simply be called immediately. However, will not be a function and or similar will not be triggered.
  • deferred: Exclude jQuery.Deferred. This also removes jQuery.Callbacks. Note that modules that depend on jQuery.Deferred(AJAX, effects, core/ready) will not be removed and will still expect jQuery.Deferred to be there. Include your own jQuery.Deferred implementation or exclude those modules as well ().
  • exports/global: Exclude the attachment of global jQuery variables ($ and jQuery) to the window.
  • exports/amd: Exclude the AMD definition.

The build process shows a message for each dependent module it excludes or includes.

AMD name

As an option, you can set the module name for jQuery’s AMD definition. By default, it is set to «jquery», which plays nicely with plugins and third-party libraries, but there may be cases where you’d like to change this. Simply set the option:

grunt custom --amd="custom-name"

Or, to define anonymously, set the name to an empty string.

grunt custom --amd=""

Custom Build Examples

To create a custom build, first check out the version:

git pull; git checkout VERSION

Where VERSION is the version you want to customize. Then, make sure all Node dependencies are installed:

npm install

Create the custom build using the option, listing the modules to be excluded.

Exclude all ajax functionality:

grunt custom:-ajax

Excluding css removes modules depending on CSS: effects, offset, dimensions.

grunt custom:-css

Exclude a bunch of modules:

grunt custom:-ajax/jsonp,-css,-deprecated,-dimensions,-effects,-offset,-wrap

There is also a special alias to generate a build with the same configuration as the official jQuery Slim build is generated:

grunt custom:slim

Переход с jQuery на Vue.js

Перевод

Автор статьи, перевод которой мы публикуем сегодня, полагает, что в мире существует ещё много программистов, которые, когда им нужно разработать простое веб-приложение, обращаются к jQuery. Обычно это случается тогда, когда некую страницу нужно оснастить простыми интерактивными возможностями, но использование для этого какого-нибудь JavaScript-фреймворка кажется явным перебором. Ведь это — килобайты ненужного кода, шаблоны, инструменты для сборки проектов, средства для упаковки модулей… При этом подключить к странице jQuery, воспользовавшись CDN-ресурсом, проще простого.
В этом материале речь пойдёт о том, как перевести проект, созданный с использованием jQuery, на Vue.js. Этот проект будет создан на jQuery, а потом переработан с применением Vue. Автор материала хочет продемонстрировать всем желающим то, что использование Vue, даже в сравнительно небольших проектах, не обязательно означает чрезмерное увеличение размера кода таких проектов и большую дополнительную нагрузку на программиста. Это, наоборот, при практически тех же размерах вспомогательного кода, что и при использовании jQuery, позволяет повысить производительность труда и улучшить качество приложений.

«Джой»

link jQuery Migrate Plugin

We have created the
to simplify the transition from older versions of jQuery. The plugin restores deprecated features and behaviors so that older code will still run properly on newer versions of jQuery. Use the uncompressed development version to diagnose compatibility issues, it will generate warnings on the console that you can use to identify and fix problems. Use the compressed production version to simply fix compatibility issues without generating console warnings.

There are two versions of Migrate. The first will help you update your pre-1.9 jQuery code to jQuery 1.9 up to 3.0. You can get that version here:

The second version helps you update code to run on jQuery 3.0 or higher, once you have used Migrate 1.x and upgraded to jQuery 1.9 or higher:

Перебор текущих элементов (.each)

Синтаксис метода each (пременяется только к выбранным элементам):

.each(function);
// function - функция, которая будет выполнена для каждого элемента текущего объекта

Разберём, как работает метод на следующем примере (переберём элементы ):

<div id="id1"></div>
<div id="id2">
  <p></p>
  <hr>
  <p></p>
  <div id="id3"></div>
</div>

<script>
// после загрузки DOM страницы выполнить
$(function(){

  // перебрать элементы div на странице
  $('div').each(function (index, element) {
    // index (число) - текущий индекс итерации (цикла)
      // данное значение является числом
      // начинается отсчёт с 0 и заканчивается количеству элементов в текущем наборе минус 1
    // element - содержит DOM-ссылку на текущий элемент

    console.log('Индекс элемента div: ' + index + '; id элемента = ' + $(element).attr('id')); 
  });

});

// Результат:
  // Индекс элемента div: 0; id элемента = id1
  // Индекс элемента div: 1; id элемента = id2
  // Индекс элемента div: 2; id элемента = id3

</script>

В вышеприведённом примере метод each использует текущий набор (элементы, выбранные посредством селектора ). В качестве обработчика метода each всегда выступает функция, которая будет выполнена для каждого элемента текущего набора (в данном случае для каждого элемента ). Данная функция имеет 2 необязательных параметра. Один из них (index) представляет собой порядковый номер текущей итерации, а второй (element) — DOM ссылку на текущий элемент. Кроме этого внутри функции доступно ключевое слово , которое также как и второй параметр, содержит DOM-ссылку на текущий элемент.

Например, выведем в консоль значение атрибута для всех элементов на странице:

$('a').each(function() {
  console.log($(this).attr('href'));
});

Например, выведем в консоль все внешние ссылки, расположенные на странице:

$('a').each(function() {
  var link = $(this).attr('href');
  if ((link.indexOf('http://') == 0) || (link.indexOf('https://') == 0)) {
    console.log('href ссылки = ' + link);
  }
});

// Если на странице расположены следующие ссылки:
  // <a href="https://www.yandex.ru/">Яндекс</a>
  // <a href="post/2898">Как работает JavaScript?</a>
  // <a href="http://getbootstrap.com/">Bootstrap</a>
// То в консоли увидим следующий результат:
  // https://www.yandex.ru/
  // http://getbootstrap.com/

Например, рассмотрим, как организовать цикл each по элементам DOM, имеющих класс (переберём все элементы одного класса).

<!-- HTML-код -->
<div class="name">Raspberry pi</div>
<div>single-board compute</div>
<div class="name">Intel Galileo Gen2</div>
<div class="price">19$</div>
<div class="name">Pine A64 Plus</div>

<script>
// с помощью функции jQuery.each ($.each)
$.each($('.name'),function(index,data) {
  console.log('Порядковый номер: ' + index + ' ; Содержимое: ' +$(data).text());
});

// с помощью метода jQuery .each 
$('.name').each(function(index,data) {
  console.log('Порядковый номер: ' + index + ' ; Содержимое: ' +$(data).text());
});

// Получим следующий ответ:
//   Порядковый номер: 0 ; Содержимое: Raspberry pi
//   Порядковый номер: 1 ; Содержимое: Intel Galileo Gen2
//   Порядковый номер: 2 ; Содержимое: Pine A64 Plus
</script>

Например, разберём, как перебрать все элементы на странице.

<script>
$('*').each(function() {
  console.log(this);
});
</script>

Например, выведем значение всех элементов на странице.

$('input').each(function() {
  console.log($(this).val());
});

Например, переберём все дочерние элементы, расположенные в с (each children).

<!-- HTML список -->
<ul id="myList">
  <li>HTML</li>
  <li>CSS</li>
  <li>JavaScript</li>
</ul>

<script>
$('ul#myList').children().each(function(){
  console.log($(this).text());
});

// Результат:
//   HTML
//   CSS
//   JavaScript
</script>

Рассмотрим способ, с помощью которого можно определить последний индекс (элемент) в методе jQuery .

// выбираем элементы 
var myList =  $('ul li');
// определяем количество элементом в выборке
var total = myList.length;
// осуществляем перебор выбранных элементов
myList.each(function(index) {
  if (index === total - 1) {
    // это последний элемент в выборке
  }
});

Working With Simple Filters

jq is built around the concept of filters that work over a stream of JSON. Each filter takes an input and emits JSON to standard out. As we’re going to see, there are many predefined filters that we can use. And, we can effortlessly combine these filters using pipes to quickly construct and apply complex operations and transformations to our JSON data.

3.1. Prettify JSON

Let’s start by taking a look at the simplest filter of all which incidentally is one of the most useful and frequently used features of jq:

In this example, we echo a simple JSON string and pipe it directly into our jq command. Then, we use the identity filter ‘.’ which takes the input and produces it unchanged as output with the caveat that by default jq pretty-prints all output.

This gives us the output:

We can also apply this filter directly to a JSON file:

Being able to prettify JSON is particularly useful when we want to retrieve data from an API and see the response in a clear, readable format.

Let’s hit a simple API using curl to see this in practice:

This gives us a JSON response for the current position of the International Space Station:

3.2. Accessing Properties

We can access property values by using another simple filter:  The .field operator. To find a property value, we simply combine this filter followed by the property name.

Let’s see this by building on our simple fruit example:

Here we are accessing the fruit property which gives us all the children of this key:

We can also chain property values together which allows us to access nested objects:

As expected, this simply returns the color of our fruit:

If we need to retrieve multiple keys we can separate them using a comma:

This results in an output containing both property values:

An important point to note is that if one of the properties has spaces or special characters, then we need to wrap the property name in quotes when accessing it from the jq command:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector