【发布时间】:2020-05-12 21:24:49
【问题描述】:
我有以下 PHP 代码,当我点击表单中的提交按钮时会执行该代码:
// Save data
if(isset($_POST['save'])){
$newDataArr = array();
foreach ($data_array[0] as $k=>$v){
$newDataArr[] = array($k => $_POST[$k]);
}// ./ foreach
echo json_encode($newDataArr);
}
我得到的回声如下:
[{"ID->id":"esKZSCDfIC"},{"DT->createdAt":"2020-01-26T13:02:42"},{"DT->updatedAt":"2020-01-26T13:02:42"},{"ST->aString":"hey1"},{"NU->number":123},{"GPS->coords":["2.2222","44.4444"]},{"BL->aBool":false},{"AR->theArray":["xx","ww"]},{"FL->theFile":"https:\/\/xscoder.com\/xserver\/uploads\/6dydDtoTt5JjZzFc5L5V_image.jpg"},{"PO->userPointer":"vbN3b0C7bC"}]
然后我必须将该数组添加到我的 JSON 文件中,如下所示:
$data = json_encode(array_values($newDataArr), JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
file_put_contents('Test.json', $data);
当然我的$newDataArr的语法不对,每个JSON对象都不能在{ }里面,所以这样:
{"ID->id":"esKZSCDfIC"},
必须变成:
"ID->id":"esKZSCDfIC",
有没有办法动态创建有效的 JSON 数组并将其推送到我的 Test.json 文件?
我在 StackOverflow 上浏览过很多帖子,但我得到的结果总是一样的。我必须使用上面的 PHP 代码从我的 HTML 输入中获取键和值。
【问题讨论】:
-
读取 json 文件,在其上运行
json_decode()以使其成为有效的 PHP 数据结构,向其中添加新信息,然后将其转换回 jsonStringjson_encode()新结构然后写入它到一个文件