怎么样才能修改并保存json文件 ajax为什么行不通

$.ajax({
        type: "POST",
        url: "../file/json/DataEdit/TscPers.json?+Math.random()",
        dataType:'json',
        success: function (JsonObj) {
            //测试获取json数据

            JsonObj["LampGroup"]["North"]["TurnAroundLamp"]["PortNo"]=[1,1,1];  //把json文件中的PortNo修改为[1,1,1]
            let DetConfigJsonObj = JsonObj["LampGroup"]["North"]["TurnAroundLamp"]["PortNo"];
            console.log("JSON"+DetConfigJsonObj);//打印出来验证一下
        },
        error:function(){
            //
            console.log("errorJSON")
        }
    });

打印出来是1,1,1 但是我看json文件还是初始值 也就是没有真的改成功 请教各位行业的专家,我怎么才能实现修改json文件

你获取的是后台传给前端的json数据没错,但并不是你的json文件本身,
你要修改json文件的内容你可以在后台修改,利用fs模块的修改功能

内存修改了,但是没有进行序列化,所以磁盘物理文件不会修改。能够修改机器文件内容,需要后台程序才具备的权限,所以这个操作要调用后台接口完成。

JSON文件储存在后台服务器中,你前端调用ajax只能读取json文件,并不能改变服务器中存储的JSON数据

$.ajax({
type: "POST",
url: "../file/json/DataEdit/TscPers.json?+Math.random()",
dataType:'json',
success: function (JsonObj) {
//测试获取json数据
var JsonObj2 = JsonObj["LampGroup"]["North"]["TurnAroundLamp"]["PortNo"]=[1,1,1]; //把json文件中的PortNo修改为[1,1,1

let DetConfigJsonObj = JsonObj2["LampGroup"]["North"]["TurnAroundLamp"]["PortNo"];
console.log("JSON"+DetConfigJsonObj);//打印出来验证一下
},
error:function(){
//
console.log("errorJSON")
}
});

    定义一个新的就好了

改文件为什么要交给前台,直接在后台不行吗

谢谢各位大佬的耐心解答 很想每个人都采纳 小白不太懂我

凡是读写文件的,前端除了ie没人可以实现,因为这个问题和用户安全有关,如果允许这么做的话,你电脑的文件人家可以夏季二稿了