我有一个本地存储阵列,如下所示
pageItems = {"stationID":"145","categoryID":"-1","pickupDate":"2014-04-22","pickupTime":"08:00","returnDate":"2014-04-23","returnTime":"08:00","milage":"false","miles":"","attributes":[[],[]],"additionals":[[],[]]}
我需要将categoryID值更新为65
pageItems = {"stationID":"145","categoryID":"65","pickupDate":"2014-04-22","pickupTime":"08:00","returnDate":"2014-04-23","returnTime":"08:00","milage":"false","miles":"","attributes":[[],[]],"additionals":[[],[]]}
答案 0 :(得分:7)
试试这个
var pageItems = {
"stationID": "145",
"categoryID": "-1",
"pickupDate": "2014-04-22",
"pickupTime": "08:00",
"returnDate": "2014-04-23",
"returnTime": "08:00",
"milage": "false",
"miles": "",
"attributes": [[], []],
"additionals": [[], []]
};
function setObject(key, obj) {
localStorage.setItem(key, JSON.stringify(obj));
}
function getObject(key) {
return JSON.parse(localStorage.getItem(key));
}
function updateItem(key, property, value)
{
var obj = getObject(key);
obj[property] = value;
setObject(key, obj);
}
//set object to sessionStorage
setObject('test', pageItems);
//update object property in sessionStorage
updateItem('test', 'categoryID', 65);
//get object from sessionStorage
getObject('test');
以下是 Demo
答案 1 :(得分:2)
您可以使用以下内容;
var pageItems = '{"stationID":"145","categoryID":"-1","pickupDate":"2014-04-22","pickupTime":"08:00","returnDate":"2014-04-23","returnTime":"08:00","milage":"false","miles":"","attributes":[[],[]],"additionals":[[],[]]}';
var json = JSON.parse(pageItems);
json.categoryID = 65;
pageItems_v2 = JSON.stringify(json);
以下是一个有效的演示: Demo
答案 2 :(得分:0)
答案 3 :(得分:0)
一次获取单个或多个更新或新插入的内容
function updateStorage(keyName, newkeypairs=[]){
const obj = JSON.parse(localStorage.getItem(keyName));
newkeypairs.map(n => obj[Object.keys(n)] = Object.values(n)[0]);
localStorage.setItem(keyName,JSON.stringify(obj));
}
//single
updateStorage("company", [{name:"ACME"}])
//multiple
updateStorage("company", [{name:"ACME"},{location:"USA"}])