The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (Perl)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Красиво собрать массив из глубин JSON, GoldenCeylon (?), 08-Фев-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


1. "Красиво собрать массив из глубин JSON"  +/
Сообщение от Andrey Mitrofanov (?), 08-Фев-19, 09:24 
> ВОПРОС
> Есть способ получить желаемое в одно касание, без перебора? По типу, как
> взять 1 элемент:
> $name = $json->[0]->{"name"};
> так хотелось бы сразу все "name"
> Спасибо.

Э... это _должно_ называться map().  Я почти :) уверен.

Перла не знаю, "но вы держитесь":

$ dat() { echo '[ -- json SKIPPED --]'; }
$ dat |jq '[.[].name]'
[
  "Name1",
  "Name2",
  "Name3"
]
$ dat |jq 'map(.name)'
[
  "Name1",
  "Name2",
  "Name3"
]
$ _

Ответить | Правка | Наверх | Cообщить модератору

2. "Красиво собрать массив из глубин JSON"  +/
Сообщение от михалыч (ok), 08-Фев-19, 16:29 
> Э... это _должно_ называться map().  Я почти :) уверен.

да, есть это

print join("," , map{ $_->{name}} @{$json});

> Перла не знаю, "но вы держитесь":

скромничаешь! хых ))
и всё-то ты знаешь

Ответить | Правка | Наверх | Cообщить модератору

4. "Красиво собрать массив из глубин JSON"  +1 +/
Сообщение от GoldenCeylon (?), 11-Фев-19, 12:23 
> print join("," , map{ $_->{name}} @{$json});

Подитожу:
@names = map{$_->{name}} @{$json};
или
@names = map{$_->{name}} @$json;

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру