JSONObject如何更改值取决于键值



我有一个这样的json:

[
    {
        "pages": "foo1",
        "hasil": ""
    },
    {
        "pages": "foo2",
        "hasil": ""
    },
    {
        "pages": "foo3",
        "hasil": ""
    },
    {
        "pages": "foo4",
        "hasil": ""
    },
    {
        "pages": "foo5",
        "hasil": ""
    },
    {
        "pages": "foo6",
        "hasil": ""
    }
]

所以我想根据pages值更改hasil键的值,我该怎么做?

编辑以明确询问

我想像这样更改特定 json 键的值:

[
    {
        "pages": "foo1",
        "hasil": ""
    },
    {
        "pages": "foo2",
        "hasil": ""
    },
    {
        "pages": "foo3",
        "hasil": ""
    },
    {
        "pages": "foo4",
        "hasil": ""
    },
    {
        "pages": "foo5",
        "hasil": ""
    },
    {
        "pages": "foo6",
        "hasil": "1"
    }
]

研究 : W3学校, 特种作战部队

据我所知,您的问题陈述,您是否正在寻找这样的东西?

var data = [
    {
        "pages": "foo1",
        "hasil": ""
    },
    {
        "pages": "foo2",
        "hasil": ""
    },
    {
        "pages": "foo3",
        "hasil": ""
    },
    {
        "pages": "foo4",
        "hasil": ""
    },
    {
        "pages": "foo5",
        "hasil": ""
    },
    {
        "pages": "foo6",
        "hasil": ""
    }
];
for(let key in this.data){
  if(this.data[key].pages == 'foo1'){
    this.data[key].hasil = 'hello';
  }
}
console.log(data);

您可以使用

find ;

var array = [
    {
        "pages": "foo1",
        "hasil": ""
    },
    {
        "pages": "foo2",
        "hasil": ""
    },
    {
        "pages": "foo3",
        "hasil": ""
    },
    {
        "pages": "foo4",
        "hasil": ""
    },
    {
        "pages": "foo5",
        "hasil": ""
    },
    {
        "pages": "foo6",
        "hasil": ""
    }
];
var foundItem = array.find(function(element) {
  return element.pages == "foo5";
});
foundItem.hasil = "123";
console.log(array);

遍历 json 对象并根据您的要求应用 hasil:

var data = [
    {
        "pages": "foo1",
        "hasil": ""
    },
    {
        "pages": "foo2",
        "hasil": ""
    },
    {
        "pages": "foo3",
        "hasil": ""
    },
    {
        "pages": "foo4",
        "hasil": ""
    },
    {
        "pages": "foo5",
        "hasil": ""
    },
    {
        "pages": "foo6",
        "hasil": ""
    }
];
for(let obj of data){
  let pages = obj['pages'];
  if (pages.includes('foo')) {
    obj['hasil'] = "h" + pages;
  }
}
console.log(data);

最新更新