Json String互相转换以及拼接到URL以及从URL取值

一、Json 转字符串

var userInfo = {
	id: "xxxx"
	loginname: "admin12"
	orgId: "xxxxx"
	orgName: "xxxxx"
	post: null
	realname: "王一"
	roleids: "111,110,1547718262668,1548641824182"
	roles: "[{"creDate":1532139233,"creUserid":11011,"delFlag":0,"delTime":1532139233,"delUserid":0,"description":"普通用							户","id":111,"name":"普通用户","parentid":110},{"creDate":1532139233,"creUserid":11011,"delFlag":0,"delTime":1532139233,"delUserid":0,"description":"超级管理员","id":110,"name":"超级管理员","parentid":0},{"creDate":1547718262,"creUserid":522837946861223936,"delFlag":0,"delTime":0,"delUserid":0,"description":"企业管理员","id":1547718262668,"name":"企业管理员"},{"creDate":1548641824,"creUserid":523056583958200320,"delFlag":0,"delTime":0,"delUserid":0,"description":"我的关注","id":1548641824182,"name":"我的关注"}]"
	status: 0
}
var userInfoStr = JSON.stringify(userInfo)

//log

{"userId":"xxxx","userName":"王一","roleids":"111,110,1547718262668,1548641824182","orgId":"514741521250123776","orgName":"xxxx","roles":"[{\"creDate\":1532139233,\"creUserid\":11011,\"delFlag\":0,\"delTime\":1532139233,\"delUserid\":0,\"description\":\"普通用户\",\"id\":111,\"name\":\"普通用户\",\"parentid\":110},{\"creDate\":1532139233,\"creUserid\":11011,\"delFlag\":0,\"delTime\":1532139233,\"delUserid\":0,\"description\":\"超级管理员\",\"id\":110,\"name\":\"超级管理员\",\"parentid\":0},{\"creDate\":1547718262,\"creUserid\":522837946861223936,\"delFlag\":0,\"delTime\":0,\"delUserid\":0,\"description\":\"企业管理员\",\"id\":1547718262668,\"name\":\"企业管理员\"},{\"creDate\":1548641824,\"creUserid\":523056583958200320,\"delFlag\":0,\"delTime\":0,\"delUserid\":0,\"description\":\"我的关注\",\"id\":1548641824182,\"name\":\"我的关注\"}]","platForm":"SKT"}


字符串转JSON

var userInfoStr = "{"userId":"xxxx","userName":"王一","roleids":"111,110,1547718262668,1548641824182","orgId":"514741521250123776","orgName":"xxxx","roles":"[{\"creDate\":1532139233,\"creUserid\":11011,\"delFlag\":0,\"delTime\":1532139233,\"delUserid\":0,\"description\":\"普通用户\",\"id\":111,\"name\":\"普通用户\",\"parentid\":110},{\"creDate\":1532139233,\"creUserid\":11011,\"delFlag\":0,\"delTime\":1532139233,\"delUserid\":0,\"description\":\"超级管理员\",\"id\":110,\"name\":\"超级管理员\",\"parentid\":0},{\"creDate\":1547718262,\"creUserid\":522837946861223936,\"delFlag\":0,\"delTime\":0,\"delUserid\":0,\"description\":\"企业管理员\",\"id\":1547718262668,\"name\":\"企业管理员\"},{\"creDate\":1548641824,\"creUserid\":523056583958200320,\"delFlag\":0,\"delTime\":0,\"delUserid\":0,\"description\":\"我的关注\",\"id\":1548641824182,\"name\":\"我的关注\"}]","platForm":"SKT"}"


var userInfo = JSON.parse(userInfoStr)
//log

var userInfo = {
	id: "xxxx"
	loginname: "admin12"
	orgId: "xxxxx"
	orgName: "xxxxx"
	post: null
	realname: "王一"
	roleids: "111,110,1547718262668,1548641824182"
	roles: "[{"creDate":1532139233,"creUserid":11011,"delFlag":0,"delTime":1532139233,"delUserid":0,"description":"普通用							户","id":111,"name":"普通用户","parentid":110},{"creDate":1532139233,"creUserid":11011,"delFlag":0,"delTime":1532139233,"delUserid":0,"description":"超级管理员","id":110,"name":"超级管理员","parentid":0},{"creDate":1547718262,"creUserid":522837946861223936,"delFlag":0,"delTime":0,"delUserid":0,"description":"企业管理员","id":1547718262668,"name":"企业管理员"},{"creDate":1548641824,"creUserid":523056583958200320,"delFlag":0,"delTime":0,"delUserid":0,"description":"我的关注","id":1548641824182,"name":"我的关注"}]"
	status: 0
}


补充:
sessionStorage.setItem(‘userInfo’, JSON.stringify(data.data))
this.userInfo = JSON.parse(sessionStorage.getItem(“userInfo”))

3.将JSON对象拼接到URL上

	goToNextPage(type) {
		var params = {
			userId: this.userInfo.id,
			userName: this.userInfo.realname,
			roleids: this.userInfo.roleids,
			orgId: this.userInfo.orgId,
			orgName: this.userInfo.orgName,
			roles: this.roles,
			platForm: 'SKT'
		}
		var params = this.JsonToUrl(params)
		if(type == 'pc'){
			var url = 'http://localhost:9529/#/index?' + '' + params
		}else{
			var url = 'http://localhost:8080/#/approvalList?' + '' + params
		}
		window.open(url)
	},
	JsonToUrl(data) {
		var tempArr = [];
		for(var i in data) {
			var key = encodeURIComponent(i);
			var value = encodeURIComponent(data[i]);
			tempArr.push(key + '=' + value);
		}
		var urlParamsStr = tempArr.join('&');
		return urlParamsStr;
	}
//http://localhost:9529/#/index?userId=523056583958200320&userName=%E7%8E%8B%E4%B8%80&roleids=111,110,1547718262668,1548641824182&orgId=514741521250123776&orgName=%E5%B1%B1%E4%B8%9C%E7%94%B5%E5%8A%9B%E5%BB%BA%E8%AE%BE%E7%AC%AC%E4%B8%89%E5%B7%A5%E7%A8%8B%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8%2F%E9%9D%92%E5%B2%9B%E9%A2%82%E5%BA%B7%E6%B3%B0%E5%9B%BD%E9%99%85%E6%97%85%E8%A1%8C%E7%A4%BE%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8%2F%E6%8A%80%E6%9C%AF%E9%83%A8&roles=%5B%7B%22creDate%22%3A1532139233,%22creUserid%22%3A11011,%22delFlag%22%3A0,%22delTime%22%3A1532139233,%22delUserid%22%3A0,%22description%22%3A%22%E6%99%AE%E9%80%9A%E7%94%A8%E6%88%B7%22,%22id%22%3A111,%22name%22%3A%22%E6%99%AE%E9%80%9A%E7%94%A8%E6%88%B7%22,%22parentid%22%3A110%7D,%7B%22creDate%22%3A1532139233,%22creUserid%22%3A11011,%22delFlag%22%3A0,%22delTime%22%3A1532139233,%22delUserid%22%3A0,%22description%22%3A%22%E8%B6%85%E7%BA%A7%E7%AE%A1%E7%90%86%E5%91%98%22,%22id%22%3A110,%22name%22%3A%22%E8%B6%85%E7%BA%A7%E7%AE%A1%E7%90%86%E5%91%98%22,%22parentid%22%3A0%7D,%7B%22creDate%22%3A1547718262,%22creUserid%22%3A522837946861223936,%22delFlag%22%3A0,%22delTime%22%3A0,%22delUserid%22%3A0,%22description%22%3A%22%E4%BC%81%E4%B8%9A%E7%AE%A1%E7%90%86%E5%91%98%22,%22id%22%3A1547718262668,%22name%22%3A%22%E4%BC%81%E4%B8%9A%E7%AE%A1%E7%90%86%E5%91%98%22%7D,%7B%22creDate%22%3A1548641824,%22creUserid%22%3A523056583958200320,%22delFlag%22%3A0,%22delTime%22%3A0,%22delUserid%22%3A0,%22description%22%3A%22%E6%88%91%E7%9A%84%E5%85%B3%E6%B3%A8%22,%22id%22%3A1548641824182,%22name%22%3A%22%E6%88%91%E7%9A%84%E5%85%B3%E6%B3%A8%22%7D%5D&platForm=SKT

4.从URL上获取JSON对象

	getInfo(){
		this.url = window.location.href
		var temp = this.url.substring(this.url.indexOf("//") + 2, this.url.length)
		this.ip = temp.substring(0, temp.indexOf('/'))
		if(this.url.indexOf('?') != -1) {
			var userInfo = this.UrlToJson(this.url)
			sessionStorage.setItem('userInfo', JSON.stringify(userInfo))
			sessionStorage.setItem('ip',this.ip)
		}
		console.log(sessionStorage.getItem("userInfo"))
		var userInfo = JSON.parse(sessionStorage.getItem("userInfo"));
	}

	UrlToJson(url) {
		var index = url.indexOf('?');
		url = url.match(/\?([^#]+)/)[1];
		var obj = {},
			arr = url.split('&');
		for(var i = 0; i < arr.length; i++) {
			var subArr = arr[i].split('=');
			obj[subArr[0]] = decodeURIComponent(subArr[1]);
		}
		return obj;
	},
			
发布了62 篇原创文章 · 获赞 33 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/Silence_Sep/article/details/89489630