【发布时间】:2017-01-04 12:48:06
【问题描述】:
我目前正在处理 JSON 文件,从其中创建、添加、更改和删除数据。我现在完全迷失在数组哈希级别的问题上。
我有一个 JSON 文件,如下所示:
{
"pages": {
"page": [
{
"PID": "84634572",
"UID": "2",
"menu_order": "65",
"status": "1",
"name": "Blabla",
"blocked": "0",
"frontpage": "1",
"content": [
{
"block1": "test3",
"block2": "test2",
"block3": "test5",
"block4": "test1",
"block5": "test4"
}
],
}
]
}
}
我想在文件中添加更多页面,并想出了以下方法来构建从“PID”开始的字符串,然后再将其推送到现有文件:
my %rec_hash = (
'PID' => $PID,
'menu_order' => '1',
'status' => '1',
'name' => $name,
'content' => {
'block1' => $block1,
'block2' => $block2,
'block3' => $block3,
'block4' => $block4,
'block5' => $block5
}
);
这在某种程度上可行,但我不会在“PID”之前得到起始大括号{。有关如何正确构建%rec_hash 的任何帮助?
【问题讨论】:
-
您使用什么模块来创建 JSON? JSON::PP、JSON::XS、JSON::Tiny、Cpanel::JSON::XS,还有别的吗?
-
您将
page和content作为包含单个哈希的数组。那是对的吗?同样,您将pages作为包含单个数组page的散列。我本来以为pages应该是一个数组,page是多余的,还是你绑定了别人的设计? -
先为人类格式化你的 json 怎么样? codebeautify.org/jsonviewer/cb62c7cf