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 onclick="toadmin()" style="color:#fc771f;padding-left:15px;cursor:pointer;">登錄管理端</a>';
$("#signBox").html(str);
};
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM