首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除jquery和javascript中json数组中的所有元素

删除jquery和javascript中json数组中的所有元素
EN

Stack Overflow用户
提问于 2015-12-17 05:12:41
回答 3查看 2.6K关注 0票数 1

我正在研究一种可以删除"Bottin“中所有数组内容的方法。数据以名为" data“的键存储在计算机的LocalStorage上。

这是我的Json样本:

代码语言:javascript
复制
{
    "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"
    }
}

这是我的部分解决方案:

代码语言:javascript
复制
function delAllBottin() {
    bd = localStorage.getItem('data');      
    var descJsonObjects = bd.Bottin;
    bd.Bottin.splice(0, descJsonObjects.length);    
}

暂时不管用,我不知道我在这里错过了什么.

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-12-17 05:40:29

首先,以字符串格式存储json对象,如下所示:

代码语言:javascript
复制
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数组:

代码语言:javascript
复制
var data = JSON.parse(localStorage.getItem("data"));
data.Bottin = []; // array cleared

现在,再保存一次:

代码语言:javascript
复制
localStorage.setItem("data", JSON.stringify(data));
票数 1
EN

Stack Overflow用户

发布于 2015-12-17 05:20:07

1将localStorage中的字符串解析为JSON

2删除不想要的项(用片())

3使JSON字符串

4在localStorage中重新设置它

代码语言:javascript
复制
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);
票数 1
EN

Stack Overflow用户

发布于 2015-12-17 05:28:34

不能将对象设置为localStorage / sessionStorage的值。在从存储中获取JSON之前,需要将其设置为JSON字符串,并解析JSON。

设置时的

代码语言:javascript
复制
var data = {.....}; //Build your data object
localStorage.setItem('data', JSON.stringify(data));

获取(和编辑)时的

代码语言:javascript
复制
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));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34327064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档