zoukankan      html  css  js  c++  java
  • [ Perl ] HASH 读写

    https://www.cnblogs.com/yeungchie/

    便于数据结构的存储和还原
    这里的方法是将 HASH 转为 字符串 写入文件的,再读取文件中字符串内容转为 HASH
    使用 JSON 作为数据交换格式 ( JavaScript Object Notation )

    使用 JSON 模块

    use JSON;
    

    HASH 转 JSON

    • hashToJson.pl
    # 省略一堆次要的模块声明
    
    use JSON;
    
    my %hash_data = (
        server   => "eda",
        release  => "6.10",
        memTotal => "15G",
        memRatio => "0.144396",
        cores    => "6",
        cpuRatio => "0.0145719489981785",
        time     => "1624202821",
        load     => "0.29/0.07/0.02",
    );
    say Dumper \%hash_data;
    
    my $json = new JSON;                                # 创建 JSON 对象
    my $json_data = $json->pretty->encode(\%hash_data); # 编码成 JSON 格式
    
    say Dumper $json_data;
    
    # JSON 写入
    my $file = IO::File->new('>hashToJson.txt');
    printf $file $json_data;
    $file->close;
    

    hash_data
    $VAR1 = {
    'memRatio' => '0.144396',
    'memTotal' => '15G',
    'cores' => '6',
    'cpuRatio' => '0.0145719489981785',
    'time' => '1624202821',
    'server' => 'eda',
    'release' => '6.10',
    'load' => '0.29/0.07/0.02'
    };

    json_data
    $VAR1 = '{
    "memRatio" : "0.144396",
    "memTotal" : "15G",
    "cores" : "6",
    "cpuRatio" : "0.0145719489981785",
    "time" : "1624202821",
    "server" : "eda",
    "release" : "6.10",
    "load" : "0.29/0.07/0.02"
    }
    ';

    JSON 转 HASH

    jsonToHash.pl

    # 省略一堆次要的模块声明
    
    use JSON;
    
    # JSON 读取
    my $file = new IO::File '<hashToJson.txt';
    my @file_data = <$file>;
    $file->close;
    my $json_data = join '',@file_data;
    say Dumper $json_data;
    
    # 解码
    my $hash_data = decode_json $json_data;
    say Dumper $hash_data;
    
    # Tips : 解引用 %{$hash_data}
    

    json_data
    $VAR1 = '{
    "memRatio" : "0.144396",
    "memTotal" : "15G",
    "cores" : "6",
    "cpuRatio" : "0.0145719489981785",
    "time" : "1624202821",
    "server" : "eda",
    "release" : "6.10",
    "load" : "0.29/0.07/0.02"
    }
    ';

    hash_data
    $VAR1 = {
    'time' => '1624202821',
    'release' => '6.10',
    'server' => 'eda',
    'memRatio' => '0.144396',
    'memTotal' => '15G',
    'load' => '0.29/0.07/0.02',
    'cpuRatio' => '0.0145719489981785',
    'cores' => '6'
    };

  • 相关阅读:
    python接口自动化5-Json数据处理
    python接口自动化4-绕过验证码登录(cookie)
    python接口自动化2-发送post请求
    python接口自动化1-发送get请求
    python+selenium个人学习笔记11-登录封装与调用
    [jzoj]5257.小X的佛光
    [jzoj]1417.数学题
    2017.08.15【NOIP提高组】模拟赛B组
    [jzoj]1383.奇怪的问题
    [jzoj]1229.Hanoi
  • 原文地址:https://www.cnblogs.com/yeungchie/p/14933003.html
Copyright © 2011-2022 走看看