Javascript jQuery使用字符串键更新JSON

Javascript jQuery使用字符串键更新JSON,javascript,arrays,json,string,Javascript,Arrays,Json,String,数组变量中有JSON数据,我想用字符串键更新数组中的一些值。 以下是我的阵列的外观: { "all": [ { "image":{ "URL":"img/img1.jpeg", "font": "sfsdfsdf", "color": "sfsdfs" }, "music": {

数组变量中有JSON数据,我想用字符串键更新数组中的一些值。 以下是我的阵列的外观:

{
    "all": [
        {
            "image":{
                "URL":"img/img1.jpeg",
                "font": "sfsdfsdf",
                "color": "sfsdfs"
            },
            "music": {
                "URL":"fsfsfd",
                "time": {
                    "start":"sfsdf",
                    "end":"qdqsd"
                }
            }
        },
        {
            "image":{
                "URL":"img/img2.jpeg",
                "font": "sfsdfsdf",
                "color": "sfsdfs"
            },
            "music": {
                "URL":"fsfsfd",
                "time": {
                    "start":"sfsdf",
                    "end":"qdqsd"
                }
            }
        }
    ]
}
我有第二个数组,其路径拆分为我要更新的密钥,如下所示:

var path = ["all", 0, "image", "font"]
目前,我只需循环
path
变量,并在JSON数据中搜索是否存在键。 但是我完全不知道如何在不改变数组模式的情况下更新我的JSON数组

例如,我想用“我的其他值”替换
myArray[all][0][image][font]
value

最终目标是更新JSON数组并重写JSON文件

编辑:


我在这里找到了解决方案:

首先,值得注意的是,这与jQuery无关

在任何情况下,执行此操作的简单方法是使用中的函数。它正是你想要的

这也是您自己编写的一段非常简单的代码,但Lodash还有许多其他良好且经过良好测试的实用程序函数,因此您有必要熟悉它。这里有一个测试:

let数据={
“全部”:[
{
“图像”:{
“URL”:“img/img1.jpeg”,
“字体”:“sfsdfsdf”,
“颜色”:“SFSDF”
},
“音乐”:{
“URL”:“fsfd”,
“时间”:{
“开始”:“sfsdf”,
“结束”:“qdqsd”
}
}
},
{
“图像”:{
“URL”:“img/img2.jpeg”,
“字体”:“sfsdfsdf”,
“颜色”:“SFSDF”
},
“音乐”:{
“URL”:“fsfd”,
“时间”:{
“开始”:“sfsdf”,
“结束”:“qdqsd”
}
}
}
]
};
让路径=[“全部”,0,“图像”,“字体”];
让value=u2;.get(数据,路径);
console.log(值)

我的目标不是获取路径的价值,我知道如何实现它。我的目标是更新密钥路径并返回数组
数据
,完成修改。洛达斯能做到吗?