【发布时间】:2019-01-21 23:44:21
【问题描述】:
这是一个奇怪的问题,但我希望有人可以帮助我。
我有一个 JS 对象(它实际上是 JSON 字符串,然后被转换回对象。)。
{
"legs": [{
"pods": [{
"11": {
"id": 6,
"name": "tesla",
"text": "tesla model2",
"battery": "60"
},
"21": {
"id": 9,
"name": "porsche",
"text": "porsche electric",
"battery": "100"
}
}]
}]
}
所以在我的 javascript 中,我将调用一个特定的项目...比如说,legs.pods[11].name
我将它传递给像 editThisField(legs.pods[11].name); 之类的函数;
在该函数上 editThisField(whichDataElement){.....} 我将显示一个模式框,用户可以在其中为名称值提供新文本...我想要的是将 whichDataElement 更新为新文本,这样我传入该字段的任何对象变量都会在腿对象中更新......我不确定我是否很好地解释了这一点,但我想不出从哪里开始寻找一个好的对此的态度。
基本上我正在创建一个文本区域,我在其中粘贴 JSON,系统允许我通过模式弹出窗口编辑 JSON 对象。因此模态出现并根据特定子对象中的数据动态显示表单。当您填写表单时,原始 JSON 会更新...有什么想法?
没有真正按我的需要工作......也许这有助于澄清:
var mything = {
subthing: {
thisthing: "here"
}
}
var edit = mything.subthing.thisthing;
edit = "Changed";
console.log(mything); // then the listthing value should be changed.
【问题讨论】:
-
到目前为止你尝试了什么?
-
legs.pods[11].name无效,因为pods是一个包含单个对象的数组 - 您需要执行legs.pods[0]['11'].name或类似操作 -
没有真正按我的需要工作......也许这有助于澄清: var mything = { subthing: { thisthing: "here" } } var edit = mything.subthing.thisthing;编辑=“更改”; console.log(mything); // 那么listthing的值应该改变。
标签: javascript json object