【发布时间】:2016-03-15 15:46:43
【问题描述】:
我有一个 json 字符串,我已经用 parseJSON 将它变成了一个对象(其中 #get_my_json_data 是输入 json 的文本区域)
var data = jQuery.parseJSON( $("#get_my_json_data").val() );
酷,我现在有了一个可以查看整个结构的对象。
我需要做的是改变一个节点的KEY。但是..我不知道它是什么(所以不能只进行字符串化和搜索/替换)。我确实知道它的确切位置......
这是文本区域中的示例结构或 json。
{
"MasterData": {
"|-|-|ID|-|-|": {
"menu": {
"Tabs": [
{
"Name": "Home",
"TabText": "Home"
},
.........
我需要找到第二个项目的KEY,在这个例子中是:'|-|-|ID|-|-|'
当他们再次编辑时,情况会有所不同。那么到底如何在 MasterData 之后更新节点密钥并编写整个内容?
我尝试了一个 $.each 循环,但它一直在杀死整个“数组”
---- 更新 ---
我最终这样做了,效果很好!
var data = jQuery.parseJSON( $("#get_my_json_data").val() );
var keys = Object.keys( data.MasterData );
data.MasterData[$(this).val()] = data.ConteMasterDatatData[keys[0]];
delete data.MasterData[keys[0]];
$("#get_my_json_data").val(JSON.stringify(data));
【问题讨论】:
-
您是否尝试过使用 Object.getOwnPropertyNames() 遍历 data.MasterData 的属性?
标签: javascript jquery arrays json object