我创建了一个字符串...
{"atts": [{"name": "wedw"}, {"type": "---"}]}
我根据用户输入将一堆这些内容堆放在一个数组中,并将它们附加到另一个字符串以完成一个经测试有效的 JSON 对象。
所以我最终得到了一个名为 fields 的全局数组,其中包含一堆这些小片段。
那么如何用新名字更改“weds”这个名字呢?我已经尝试过...
function changefieldname(pos){
var obj = JSON.parse(jsonstring);
var oldname = obj.tracelog.fields[pos].atts[0]["name"];
var newname = document.getElementById("newlogfieldname"+pos).value;
fields[pos].replace(oldname, newname);
//writejson();
}
还有一堆变体。我知道一切都在检查变量 pos、oldname 和 newname 的正确性。我还知道 fields[pos]
返回我想要更正的数组中的字符串,但它并不高兴。我还尝试将 fields[pos]
转换为字符串,但替换函数不起作用。我确信这是有充分理由的。
最佳答案
为什么还要费心去尝试做某种替代呢?只需为其分配一个新值即可:
obj.tracelog.fields[pos].atts[0]["name"] = newname;
关于javascript - JSON元素检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23880529/