The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Perl и парсинг JSON + Dumper"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Perl)
Изначальное сообщение [ Отслеживать ]

"Perl и парсинг JSON + Dumper"  –1 +/
Сообщение от Andrey (??) on 27-Мрт-16, 12:01 
Всем привет,
Имею сложность с парсингом данных представленных в JSON.
#!/usr/bin/perl
use diagnostics;
use JSON::XS;
use Data::Dumper;

my $json_data='{
  "href" : "http://localhost/profiles",
  "items" : [
    {
      "href" : "http://localhost/id111",
      "Child" : {
        "name" : "Jack",
        "age" : "11",
        "pet" : "Cat"
      }
    },
    {
      "href" : "http://localhost/id303",
      "Child" : {
        "name" : "David",
        "age" : "8",
        "pet" : "Dog"
      }
      },
      {
      "href" : "http://localhost/id516",
      "Child" : {
        "name" : "Merry",
        "age" : "10",
        "pet" : "Hamster"
      }
    }
  ]
}';

print Dumper(decode_json ($json_data));

Вывод:
$VAR1 = {
          'href' => 'http://localhost/profiles',
          'items' => [
                       {
                         'href' => 'http://localhost/id111',
                         'Child' => {
                                      'pet' => 'Cat',
                                      'name' => 'Jack',
                                      'age' => '11'
                                    }
                       },
                       {
                         'href' => 'http://localhost/id303',
                         'Child' => {
                                      'age' => '8',
                                      'name' => 'David',
                                      'pet' => 'Dog'
                                    }
                       },
                       {
                         'href' => 'http://localhost/id516',
                         'Child' => {
                                      'name' => 'Merry',
                                      'pet' => 'Hamster',
                                      'age' => '10'
                                    }
                       }
                     ]
        };

Не могу понять в какие структуры Perl пероводится JSON.
Каким образом, например, для каждого обьекта "Child" распечатать только значения его "name" и "pet"?

Жду ваших советов!

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

Оглавление

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


1. "Perl и парсинг JSON + Dumper"  +1 +/
Сообщение от Pahanivo (ok) on 27-Мрт-16, 12:56 
студэнт, ты задолбал
https://www.opennet.ru/openforum/vsluhforumID9/10082.htm
в несложных структурах перла можно было за месяц вполне себе разобраться :)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Perl и парсинг JSON + Dumper"  +/
Сообщение от ACCA (ok) on 28-Мрт-16, 07:31 
> Не могу понять в какие структуры Perl пероводится JSON.

В хэши и и списки [хэшей].


> Каким образом, например, для каждого обьекта "Child" распечатать только значения его "name"
> и "pet"?

print join(', ',@{$item->{Child}}{qw'name pet'}),"\n";

Как-то так.

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

3. "Perl и парсинг JSON + Dumper"  +/
Сообщение от erera22 (ok) on 30-Мрт-16, 20:37 
Не хэши, а ссылки на хэши (hash refs):
$hash_ref = {
   href => 'http://...',
   Child => {
      name => 'foo',
      pet => 'bar',
      age => 123
   }
};

print $hash_ref->{href}, $hash_ref->{Child}->{age}

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

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

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




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

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