【发布时间】:2020-10-19 06:55:20
【问题描述】:
下面是我的json内容
{
"demoPO":{
"login":["demoJPLog in", "demoFRLog in","GELog in"],
"cancel":["demoJPCancel", "demoFRcancelo","GEcancelo"],
"content":["demoJPcontent", "demoFRcontent","GEcontent"]
},
"demoPO2":{
"login":["JPLog in", "FRLog in","GELog in"],
"cancel":["JPCancel", "FRcancelo","GEcancelo"],
"content":["JPcontent", "FRcontent","GEcontent"],
"submit":["JPsubmit", "FRsubmit","GEsubmit"]
}
}
我想更新密钥 demPO2.login[0]
的值data.demoPO2.login[0] = value; //this updates key - works
consider user is passing **key** as a variable
var keyName = 'demPO2.login[0]'
data[keyname] = value; //doesn't update, adds a new one
有没有办法克服这个问题,当 json 中有多层数组时,用户可以将键作为变量传递并更新?
【问题讨论】:
-
这里的关键是什么?您正在更新数组而不是对象。如果您通过 demPO2 很好,但将 demPO2.login[0] 作为密钥传递不是一个可行的解决方案
标签: javascript json