我正在研究一种可以删除"Bottin“中所有数组内容的方法。数据以名为" data“的键存储在计算机的LocalStorage上。
这是我的Json样本:
{
"descriptions": [
{
"Fabricant": "Test",
"Produit": "Test",
"Prix": "11.11",
"Details": " asdfasd",
"Categorie": "Categorie_Baseball",
"Images": "Hockey_Article_01.jpg"
},{
"Fabricant": "Test",
"Produit": "Test",
"Prix": "11.11",
"Details": " asdfasd",
"Categorie": "Categorie_Baseball",
"Images": "Hockey_Article_01.jpg"
},{
"Fabricant": "Test",
"Produit": "Test",
"Prix": "11.11",
"Details": " asdfasd",
"Categorie": "Categorie_Baseball",
"Images": "Hockey_Article_01.jpg"
}
],
"Bottin": [
{
"Nom": "Andy",
"Prenom": "Matador",
"Fonction": "dtesasd",
"Courriel": "cyd@vde.ca",
"Telephone": "515-555-5555"
}, {
"Nom": "Andy",
"Prenom": "Matador",
"Fonction": "dtesasd",
"Courriel": "cyd@vde.ca",
"Telephone": "515-555-5555"
},{
"Nom": "Andy",
"Prenom": "Matador",
"Fonction": "dtesasd",
"Courriel": "cyd@vde.ca",
"Telephone": "515-555-5555"
}
],
"users": {
"admin": "Inf2005"
}
}这是我的部分解决方案:
function delAllBottin() {
bd = localStorage.getItem('data');
var descJsonObjects = bd.Bottin;
bd.Bottin.splice(0, descJsonObjects.length);
}暂时不管用,我不知道我在这里错过了什么.
发布于 2015-12-17 05:40:29
首先,以字符串格式存储json对象,如下所示:
var data = {
"descriptions": [
{
"Fabricant": "Test",
"Produit": "Test",
"Prix": "11.11",
"Details": " asdfasd",
"Categorie": "Categorie_Baseball",
"Images": "Hockey_Article_01.jpg"
},{
"Fabricant": "Test",
"Produit": "Test",
"Prix": "11.11",
"Details": " asdfasd",
"Categorie": "Categorie_Baseball",
"Images": "Hockey_Article_01.jpg"
},{
"Fabricant": "Test",
"Produit": "Test",
"Prix": "11.11",
"Details": " asdfasd",
"Categorie": "Categorie_Baseball",
"Images": "Hockey_Article_01.jpg"
}
],
"Bottin": [
{
"Nom": "Andy",
"Prenom": "Matador",
"Fonction": "dtesasd",
"Courriel": "cyd@vde.ca",
"Telephone": "515-555-5555"
}, {
"Nom": "Andy",
"Prenom": "Matador",
"Fonction": "dtesasd",
"Courriel": "cyd@vde.ca",
"Telephone": "515-555-5555"
},{
"Nom": "Andy",
"Prenom": "Matador",
"Fonction": "dtesasd",
"Courriel": "cyd@vde.ca",
"Telephone": "515-555-5555"
}
],
"users": {
"admin": "Inf2005"
}
}
localStorage.setItem("data", JSON.stringify(data));现在,要从其中清除Bottin数组:
var data = JSON.parse(localStorage.getItem("data"));
data.Bottin = []; // array cleared现在,再保存一次:
localStorage.setItem("data", JSON.stringify(data));发布于 2015-12-17 05:20:07
1将localStorage中的字符串解析为JSON
2删除不想要的项(用片())
3使JSON字符串
4在localStorage中重新设置它
var items = JSON.parse(localStorage.getItem("data")); // updated
for (var i =0; i< items.length; i++) {
var items = JSON.parse(items[i]);
items.splice(i, 1);
}
item = JSON.stringify(items);
localStorage.setItem("data", items);发布于 2015-12-17 05:28:34
不能将对象设置为localStorage / sessionStorage的值。在从存储中获取JSON之前,需要将其设置为JSON字符串,并解析JSON。
设置时的
var data = {.....}; //Build your data object
localStorage.setItem('data', JSON.stringify(data));获取(和编辑)时的
var jsonData = localStorage.getItem('data');
var data = JSON.parse(jsonData);
//If you want to do any modification, do it now
//then set it back to the storage
localStorage.setItem('data', JSON.stringify(data));https://stackoverflow.com/questions/34327064
复制相似问题