这似乎对我不起作用,我不知道如何让它工作。接受我用它创建的 json 的系统不喜欢"components": null,
if ($s->{category} == ""){
$j->{components} = "Unspecified";
}
else
{
j->{components} = $s->{category};
}
谢谢
这似乎对我不起作用,我不知道如何让它工作。接受我用它创建的 json 的系统不喜欢"components": null,
if ($s->{category} == ""){
$j->{components} = "Unspecified";
}
else
{
j->{components} = $s->{category};
}
谢谢
分配空字符串仍会分配某些内容。如果您想知道哈希数组是否没有指定的键,可以使用
defined()
函数。如果您想销毁分配 - 使用undef
根据“不存在”的含义,有不同的答案。
!$s->{category}
真实意味着:category
不存在$s
,或者category
存在于$s
但$s->{category}
undef
category
存在于 中$s
,$s->{category}
不存在undef
但计算结果为假。可以通过 检查第一个条件
exists
。exists( $h->{ k } )
检查哈希中是否存在。defined( $h->{ k } )
检查是否已定义。$h->{ k }
检查是否真。==
用于将定义的值作为数字进行比较。eq
用于将定义的值作为字符串进行比较。use warnings;
或等效。exists( $h->{ k } )
defined( $h->{ k } )
$h->{ k }
{}
{"k":null}
{"k":""}
{"k":0}
{"k":"0"}
{"k":"abc"}
{"k":"123"}
{"k":"00"}