Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Perl json


Автор: nankko 5.6.2015, 18:58
Добрый день. Прошу помочь с формированием хэща для кодирования в json. 

Есть такой хэш (создан руками)
Код

my %hash = (
'id' => 1, 
'array'    => {
                      'id1'=> 'id1',                                                                                        
                          'value1'    => {
                                                     'pwd'    => $name}
            }
);


При вызове функции my $json = encode_json \%hash; получается такой JSON

Код

{"id":"1",
  "array":{
                     'id1': 'id1',    
                      "value1":{
                                       "pwd":$name}
}
}


А мне требуется чтобы перед array были [] скобки, но если я ставлю их в хэше, то после конвертации json воспринимает их как массив. 

Вот что хочу получить 
Код

{"id":"1",
  "array":[{
                     'id1': 'id1',    
                      "value1":{
                                       "pwd":$name}
}]
}


Заранее спасибо за помощь

Автор: reiserford 5.6.2015, 19:19
Раз вы хеш создаёте руками то и список руками создавайте:
Код

my %hash = (
    'id' => 1, 
    'array' => [
        {
            'id1'=> 'id1',                                                                                        
            'value1' => {
                'pwd' => $name
            }
        }
    ]
);

Автор: nankko 8.6.2015, 14:08
Спасибо, помогло

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)