我正在學習有關在 PHP 中決議 JSON 的更多資訊,但在編輯某個檔案時遇到了問題。
我撰寫了一個代碼,可以只編輯 JSON 檔案中我想要的值,并且由于某種原因,當我嘗試從“IdList”編輯值時,我的代碼替換了沒有方括號的值,使 JSON 無效結構體。
我怎樣才能讓我的代碼正確地覆寫這個值,同時將它保留在方括號內?
我的 JSON 檔案
{
"isVisible": false,
"Name": "Lorem ipslum",
"Int": 0,
"IdList": [10, 30, 70],
"UseKeys": true,
}
我的 PHP 代碼
<?php
$commandline = ($_GET[("string")]);
$json_object = file_get_contents('file.json');
$data = json_decode($json_object, true);
$data['IdList'] = $commandline;
$json_object = json_encode($data, JSON_UNESCAPED_UNICODE);
file_put_contents('file.json', $json_object);
echo('success');
?>
例如,當我嘗試將 IdList 更改為“70、80、90”時,Json 檔案的保存方式如下:
"IdList":"70, 80, 90"
它應該像這樣保存:
"IdList": [70, 80, 90]
當我嘗試從其他值修改文本時,它可以正常作業。
uj5u.com熱心網友回復:
string你正在設定一個"IdList"
這對你有用:
$data['IdList'] = array_map('intval', explode(',',$commandline));
uj5u.com熱心網友回復:
您可以替換此行:
$data['IdList'] = $commandline;
和:
$data['IdList'] = json_decode('[' . $commandline . ']', true);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/461370.html
