修改将在perl中使用JSON编码的数据结构

时间:2015-04-01 18:50:31

标签: json perl

我有一个JSON,我试图使用perl代码进行修改。

{
    "Person":{

       "personalData": {
          "workList": {
              "file":{ 
                  "fileName": "/usr/temp/ABC.txt" }
                },
            }
         }
       }   
    }  

我需要将上面的JSON转换成这样的东西:

{
    "Person":{

       "personalData": {
          "workList": {
              "directoryList":{
                   "directory":[
                       "file":{ 
                           "fileName": "/usr/temp/ABC.txt" }
                          }
                     ]
                }
            }
         }
       }   
    }

有人可以举一些在perl中执行此操作的示例。

1 个答案:

答案 0 :(得分:2)

$data->{Person}{personalData}{workList}{directoryList}{directory} =
    [ delete $data->{Person}{personalData}{workList}{file} ];

或者更简洁,

$tmp = $data->{Person}{personalData}{workList};
$tmp->{directoryList}{directory} = [ delete $tmp->{file} ];

有关其工作原理的说明,请参阅:How to replace a Perl hash key?