我正在嘗試幫助現有專案中的 JSON 結構格式,目標是重命名一些子鍵而不是值。像這樣的 JSON 格式
{
"table-name": "Kiwi",
"created-on": "November 20, 2021",
"token": "lsUVozOB2TxhvMv",
"icons": "default",
"links": "default",
"extra": "default",
"mode": "Private",
"collaborators": [],
"columns": {
"Name": {
"type": "text",
"extra": ""
},
"Info": {
"type": "longtext",
"extra": ""
},
"Status": {
"type": "droplist",
"extra": {
"fr": "Pending",
"sc": "On-going",
"th": "Completed",
"fo": "Cancelled"
}
}
},
"data": [{
"Name": "Team Reports",
"Info": "Submitting marketing materials reports",
"Status": "Completed"
},
{
"Name": "Fabia HR",
"Info": "Brian asking for a report",
"Status": "Pending"
},
{
"Name": "Fabia",
"Info": "Meeting with CEO @cafe 9:00",
"Status": "Cancelled"
}
]
}
我們正在研究將columns其重命名Name為Task并仍然保留另一個。使用陣列推送和切片鍵后,我得到0了鍵和“任務作為子鍵,如
"0":{
"Task":{
"type":"text",
"extra":""
},
代碼看起來像這樣。請在您的空閑時間分享您的解決方案,在此先感謝您,非常感謝您的關注。這里完全是菜鳥?? PHP:
$file = file.json;
$jsn = file_get_contents($file);
$data = json_decode($jsn, true);
//get name data array
$sub_data = $data['columns']['Name'];
$new_rename = array(
"Task" => $sub_data;
);
array_push($data['columns'],$new_rename);
//now delete old "Name";
array_slice($data['columns'],'Name')
//save stuff
$jsn = json_encode($data);
file_put_contents($file,$jsn);
uj5u.com熱心網友回復:
鑒于您正在使用 JSON 物件以及 PHP 關聯陣列(而不是數字索引),您真正需要做的就是設定新屬性并取消設定舊屬性
$data["columns"]["Task"] = $data["columns"]["Name"];
unset($data["columns"]["Name"]);
演示 ~ https://3v4l.org/7pBpZ
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/363336.html
