如何通过php脚本将项目添加到现有json文件中
如何使用AJAX将新数据写入.json文件,以通过php脚本使用附加数据更新.json文件。 假设JSON文件中有以下项目如何通过php脚本将项目添加到现有json文件中,php,jquery,json,ajax,Php,Jquery,Json,Ajax,如何使用AJAX将新数据写入.json文件,以通过php脚本使用附加数据更新.json文件。 假设JSON文件中有以下项目 [{"task":"get milk","done":false}, {"task":"get broccoli","done":false}, {"task":"bring rian","done":false}, {"task":"go to school","done":false}] 现在我想从html页面再添加一个项目 {“任务”:“买牛奶”,“完成”:fals
[{"task":"get milk","done":false},
{"task":"get broccoli","done":false},
{"task":"bring rian","done":false},
{"task":"go to school","done":false}]
现在我想从html页面再添加一个项目
{“任务”:“买牛奶”,“完成”:false}
我的html页面看起来像
Task:<input type="text" id="task" placeholder="what needs to be done?">
<input type="button" value="ADD TASK" id="button">
任务:
如何在JQuery中通过php实现这一点 我首先将它们转换为一个数组:
$array = json_decode('[{"task":"get milk","done":false},
{"task":"get broccoli","done":false},
{"task":"bring rian","done":false},
{"task":"go to school","done":false}]', true);
然后将新的附加到数组中:
$array[] = array(
"task" => $_REQUEST["task"],
"done" => false
);
然后我将它转换回JSON
$json = json_encode($array);
一个问题是,在执行此操作时,没有正确传递task
的值。您尚未在输入上指定名称属性:
<input type="text" name="task" id="task" placeholder="what needs to be done?" />
//-----------------^^^^^^^^^^^
//-----------------^^^^^^^^^^^
输出:可以使用提交表单获取此信息,这里是post代码,您也可以使用get方法
php:
在这里,我们可以首先使用获取所有内容
现在使用json_decode解码该数组。创建一个stdClass,创建匿名对象,并分配通过AJAX请求获得的值
下面的示例可以帮助您在数组末尾创建和添加新对象。只需将文件内容写回文件即可
$array = json_decode('[{"task":"get milk","done":false},
{"task":"get broccoli","done":false},
{"task":"bring rian","done":false},
{"task":"go to school","done":false}]', true);
$object = new stdClass();
$object->task = "milk";
$object->done = "false";
$array[] = $object;
$new_arr = json_encode($array);
您可以从这个Niyati Patel中引用AJAX请求,如果您发现回答您问题的答案之一,请单击勾选按钮接受答案。当然。。。谢谢普拉文的建议。我是这个网站的新手
$array = json_decode('[{"task":"get milk","done":false},
{"task":"get broccoli","done":false},
{"task":"bring rian","done":false},
{"task":"go to school","done":false}]', true);
$object = new stdClass();
$object->task = "milk";
$object->done = "false";
$array[] = $object;
$new_arr = json_encode($array);