JSON.parse()和JSON.stringify()用法

JSON.parse()【从一个字符串中解析出json对象】

JSON.stringify()【从一个对象中解析出字符串】

做项目的登陆功能时,用到了h5的sessionstorage方法,将登陆后返回的信息想存到了浏览器中。但返回信息是一对象,所以需要使用

JSON.stringify方法将对象转换成字符串,然后进行存储。如以下代码
//点击登陆
function fun_login(_type) {
  //检查录入项目:
  var err = checkLogin();
  if(err) {
    alert(err);
    return;
  }
  var formData = {
    "loginType": _type,
    "loginName": $(".login-right input[name='loginname']").val(),
    "password": $(".login-right input[name='password']").val()
  };
  $.ajax({
    type: 'post',
    url: "../spirit/login",
    data: formData,
    dataType: 'json',
    success: function(data) {
      console.log(data);
      if(data.returnCode == "00") {
        isLogin = "1";
        var memberObjStr = JSON.stringify(data.memberInfo);
        sessionStorage.setItem("memberInfo", memberObjStr);
        sessionStorage.setItem("pwd", $(".login-right input[name='password']").val());
        $("#signBox").html("");
        $("#signModal").modal("hide");
        fillMemberMes(memberObjStr);
      } else {
        alert("登录失败:" + data.messageInfo);
      }
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) { //失败回调函数
      var m = "系统错误:\nstatu=" + XMLHttpRequest.status + "\nreadyState=" + XMLHttpRequest.readyState + "\ntext=" + textStatus + "\nerrThrown=" + errorThrown;
      alert(m);
    }
  });

登陆以后刷新时,判断浏览器存储的信息在不在,如果有,则把个人信息放到网站顶部;如果没有,则提醒登陆。这时填充信息的时候还得用对象来填充,所以用JSON.parse的方法将字符串转换为对象再进行操作;

//加载信息
$(document).ready(function(e) {
  var memberObjStr = sessionStorage.getItem("memberInfo");
  if(memberObjStr) fillMemberMes(memberObjStr);
});

//登陆后填充头部信息
function fillMemberMes(data) {
var data = JSON.parse(data);
console.log(data);
if(data) {
if(data.memberClass == '1') data.memberType = "个人会员";
else {
if(data.memberType == '1') data.memberType = "供应商会员";
else
if(data.memberType == '2') data.memberType = "采购单位会员";
else
data.memberType = "未知类型会员";
}
var str = '<span class="headImg"><img src="../userfiles/temp/defaultPerLogo001.png" style="width:25px;height:25px;margin-top:-5px;margin-right:5px;">' + data.userName + '</span>' +
'<span>' + '(' + data.memberType + ')' + '</span>' +
'<a οnclick="toadmin()" style="color:#fc771f;padding-left:15px;cursor:pointer;">登录管理端</a>';
$("#signBox").html(str);
};
}

 

转载于:https://www.cnblogs.com/TigerZhang-home/p/8686836.html

`JSON.parse` `JSON.stringify` 是 JavaScript 中用于处理 JSON 数据的两个内置方法。它们的主要作用如下: 1. **JSON.parse()**: 这个方法将一个以字符串形式表示的 JSON 对象解析(或解码)为 JavaScript 对象。例如: ```javascript let jsonString = '{"name": "John", "age": 30, "city": "New York"}'; let jsonObj = JSON.parse(jsonString); console.log(jsonObj); // 输出: { name: 'John', age: 30, city: 'New York' } ``` 当你需要从服务器响应或文本文件中获取 JSON 数据,并在 JavaScript 中使用时,`JSON.parse` 就非常有用。 2. **JSON.stringify()**: 这个方法将 JavaScript 对象转换为 JSON 字符串格式。它用于序列化数据以便于存储或传输。例如: ```javascript let jsonObj = { name: 'John', age: 30, city: 'New York' }; let jsonString = JSON.stringify(jsonObj); console.log(jsonString); // 输出: {"name": "John", "age": 30, "city": "New York"} ``` 如果你有一个 JavaScript 对象,想要将其保存到文件或发送到 API,`JSON.stringify` 可以帮助你完成这个过程。 **区别总结**: - `JSON.parse` 是从字符串到对象的转换,而 `JSON.stringify` 是从对象到字符串的转换。 - `parse` 用于读取 JSON 数据,`stringify` 用于创建 JSON 数据。 - 它们在数据格式验证上有所不同:`parse` 如果接收到的字符串不是有效的 JSON,会抛出错误;而 `stringify` 不做这种检查,但可以设置选项来控制是否对非标准属性进行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值