gpt4 book ai didi

perl - 在 perl 中添加哈希时遇到问题

转载 作者:行者123 更新时间:2023-12-02 10:58:56 25 4
gpt4 key购买 nike

我正在读取一个文件,替换数据并将输出返回到 json。当我尝试将新项目添加到哈希时,出现以下错误。 不是 HASH 引用 当我使用 ref() 时,我得到 HASH 作为类型。

我已经尝试过。

my $json_data = decode_json($template);
$json_data->{CommandCenters}{NewItem} = ["haha","moredata"];

给出不是哈希引用错误

$json_data 如下。

  {
"Location":"Arkansas",
"CommandCenters": [
{
"secretary": "jill",
"janitor": "mike"
}
],
}

添加元素后,我正在寻找以下输出。

{
"Location":"Arkansas",
"city": "little rock"
"CommandCenters": [
{
"secretary": "jill",
"janitor": "mike"
},
{
"NewItem":["whatever","more data"]
}
],
}

如果我使用 $json_data->{CommandCenters}[0]{NewItem} = ['whatever','sure']; 我不会收到错误,但会得到意外的结果。数据已添加,但位于错误的槽中。

"commandcenters":
[
"secretary":"jill",
"janitor": "mike",
"newitem":
[
"whatever","sure"
],
]

最佳答案

要将新元素添加到数组中,请使用 push 。和我们一样正在处理数组引用,我们需要首先取消引用它。

push @{ $json_data->{CommandCenters} }, { NewItem => ["haha", "moredata"] };

关于perl - 在 perl 中添加哈希时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57787770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com