在localStorage中使用的JSON.parse()和JSON.stringify()的区别

前两天作项目有个需求是上传Excel表格,然后成功之后后台读取Excel里面的数据,并将数据给我返回来,返回来的是一个json对象类型的,然后我要将返回的数据,拿到,在另一个页面展示出来,我用的是localStorage,放到缓存里面,然后在另一个页面获取刚才存到缓存的数据,取出来并展示到页面上。

第一步,先在a页面读取数据,并存到localStorage中

$.ajax({
        url: 'http://10.129.83.124:8080/ship/getDispatchBillInfo',
        type: 'POST', //GET
        async: true, //或false,是否异步
        data: {
            id: 208
        },
        timeout: 5000, //超时时间
        dataType: 'json', //返回的数据格式:json/xml/html/script/jsonp/text
        success: function(data) {
            //console.log(data);
            datas(data);
        },
        error: function(xhr, textStatus) {
            console.log('错误')
            console.log(xhr)
            console.log(textStatus)
        },
        complete: function() {
            console.log('结束')
        }
})
{
    "result": true,
    "message": "查询成功!",
    "code": 0,
    "data": [
        {
            "oemId": 168,
            "brandGroup": "长安汽车",
            "oemCode": "12A0",
            "oemName": "曲轴瓦",
            "partsIntroduction": null,
            "classify": "曲轴瓦",
            "referPic": null,
            "goodsName": null,
            "partsClassify": null,
            "goodsBrand": null,
            "price": null,
            "storeCnt": null,
            "partsList": [
                "长安铃木",
                "长安铃木天语",
                "长安铃木启悦"
            ],
            "qutaList": [],
            "newName": "曲轴瓦"
        },
        {
            "oemId": 175,
            "brandGroup": "铃木汽车",
            "oemCode": "14",
            "oemName": "曲轴瓦(下)",
            "partsIntroduction": "粉红色,一套",
            "classify": "曲轴瓦",
            "referPic": null,
            "goodsName": null,
            "partsClassify": null,
            "goodsBrand": null,
            "price": null,
            "storeCnt": null,
            "partsList": [
                "长安",
                "长安铃木"
            ],
            "qutaList": [],
            "newName": "曲轴瓦"
        }
    ]
}

  //console.log(response.data); //后台返回的数据是对象类型的,可以以“key.value”的形式获取
  //console.log(typeof(response.data)); //object

 var strData = JSON.stringify(response.data); //将json对象类型的数据转成字符串类型的,然后才能够放到localstorage本地缓存里面
//console.log(strData); //这个数据就是一个字符串类型的,不能以“key.value”的形式获取
 //console.log(typeof(strData)); // string

localStorage.setItem('localData', strData); //将字符串数据放到localstorage本地缓存里。

第二步:将数据从localStorage中读取出来,并展示

var getLocalData = localStorage.getItem('localData');
//console.log(getLocalData); // string  从localstorage本地缓存里面取得数据是json字符串类型,需要转化成json对象才可以用
var jsonObj = JSON.parse(getLocalData); //将json字符串类型,转化成json对象,才可以调用里面的数据
 // console.log(jsonObj); //object

转换成object的可以以‘.’的形式读取数据。

所以这就是localStorage的数据存取,和json对象和字符串的转换。

 

转载于:https://my.oschina.net/lixiaoyan/blog/882049

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值