小编Gir*_*ish的帖子

Perl - 比较两个嵌套哈希

这是我的场景,其中有2个哈希值已从2个JSON文件解码.

我有2个复杂的哈希,

$hash1 = {k1=> { k11 => v1, k12 => v2}, k2 => { k21 => [v1, v2, v3] }}
$hash2 = {k1=> { k11 => v1, k12 => v2}, k2 => { k21 => [v3, v2, v1] }}
Run Code Online (Sandbox Code Playgroud)

我想比较这两个哈希的相等性,并使用Data :: Data的比较和Test :: More的is_deeply.两者都不会忽略数组的顺序.
我想比较忽略键'k21'的数组值的顺序.
我的应用程序从'keys%hash'填充数组,它提供随机顺序.
尝试了Data :: Compare的'ignore_hash_keys',但我的哈希有时可能很复杂而且不想忽略.

键'k21'有时也可以有哈希数组.

$hash3 = {k1=> { k11 => v1}, k2 => { k21 => [{v3 => v31}, {v2 => v22}] }}
Run Code Online (Sandbox Code Playgroud)

如何通过忽略数组顺序来比较这种复杂的哈希值.

perl hash json perl-data-structures

2
推荐指数
1
解决办法
827
查看次数

标签 统计

hash ×1

json ×1

perl ×1

perl-data-structures ×1