亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用base64解密后拿到json字符串 用json.parse()方法為什么不能轉換成對象?

使用base64解密后拿到json字符串 用json.parse()方法為什么不能轉換成對象?

牛魔王的故事 2018-12-29 23:14:20
<script src="js/base64.js"></script><script>var theRequest = new Object();var url='?params=eyJhZHZhbmNlZF9wYXlfcHJpY2UiOjY2NiwiYXV0b19jb2xvciI6IuWNoeWFtumHkSIsImF1dG9fbW9kZWxfbmFtZSI6IjEuNUwg6Ieq5YqoIOe7j+WFuOWeiyIsImZpbmFsX3ByaWNlIjo1NTU1LCJpbnRlcmlvciI6IumAgOaNoui0pyIsInJlYWxfcHJpY2UiOjY2NjYsInJlZmVyX3ByaWNlIjoiMTAuMTnkuIciLCJzZWxsZXJfbW9iaWxlIjoiMTM5ODI2MTUzMDciLCJzZWxsZXJfbmFtZSI6IuiZq+WmueWmuSIsInN1Yl9icmFuZF9uYW1lIjoi5Yev6LaKIiwic3VwcGxpZXJfbmFtZSI6IuW8mOmbheWIq+WFiyIsInllYXIiOiIyMDEzIn0=';var  base = new Base64();if (url.indexOf("?") != -1) {   var str = url.substr(1);   var strs = str.split("&");   for (var i = 0; i < strs.length; i++) {       theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1]);   }}var result = theRequest.params;    //取到=后的值console.log(result)var strjson = base.decode(result);//base64解密console.log(strjson)var data = JSON.parse(strjson);   //這里就報錯   console.log(data);</script>不能轉成json對象 引入了 base64解密插件 求大神幫忙下
查看完整描述

1 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

你獲取params參數時用了strs[i].split("=")的方式,導致最后base64的值的最后一位=缺失。

補充:


for (var i = 0; i < strs.length; i++) {

   var splitIndex = url.indexOf("=");

   theRequest[strs[i].substr(0, splitIndex - 1)] = strs[i].substr(splitIndex);

}


查看完整回答
反對 回復 2019-01-17
  • 1 回答
  • 0 關注
  • 794 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號