Javascript jQuery使用字符串键更新JSON
数组变量中有JSON数据,我想用字符串键更新数组中的一些值。 以下是我的阵列的外观:Javascript jQuery使用字符串键更新JSON,javascript,arrays,json,string,Javascript,Arrays,Json,String,数组变量中有JSON数据,我想用字符串键更新数组中的一些值。 以下是我的阵列的外观: { "all": [ { "image":{ "URL":"img/img1.jpeg", "font": "sfsdfsdf", "color": "sfsdfs" }, "music": {
{
"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(值)代码>
我的目标不是获取路径的价值,我知道如何实现它。我的目标是更新密钥路径并返回数组数据
,完成修改。洛达斯能做到吗?