JavaScript-JSON转换

概述

JSON字符串和对象

let str = '{"username":"root", "password":"root"}';  // json字符串
let obj = {'username':'root', 'password':'root'}  // json对象

转换

字符串 ==> 对象

  • 方式1
    • var obj = eval('(' + str +')');
  • 方式2
    • var obj = JSON.parse(str);
  • 方式3(已不支持,需要引入json.js)
    • var obj = str.parseJSON();json3已不支持

对象 ==> 字符串

  • 方式1

    • var back = JSON.stringify(obj);
  • 方式2(已不支持,需要引入json.js)

    • var back2 = obj.toJSONString();

测试代码

<script type= "text/javascript">
	// 注意:必须是单引号包裹双引号,否则方式2出错
	// let str = "{'username':'root', 'password':'root'}" // 错误
	let str = '{"username":"root", "password":"root"}'; 
	console.log(str);
	
	// 因为str是字符串,所以得到undefined
	console.log("是否是json对象:" + str.username == 'undefinded'); 

	console.log("===========得到json对象============");
	
	// 方式1(常用)
	let obj = eval("(" + str + ")");
	console.log(obj);
	
	// 方式2
	// str = eval(str); // 如果怕传递的json字符串格式不对,可以先进行该操作,所以最好还是使用方式1
	let obj1 = JSON.parse(str); // 注意,如果报错,必须检查是否是一个json字符串
	console.log(obj1.username);
	
	// 方式3(已不支持,需要引入json.js文件)
	// let obj2 = str.parseJSON();
	// console.log(obj2.username);
	
	let obj3 = eval(obj); // 如果变量本身是JSON对象,多次转换得到的还是JSON对象
	console.log(obj3.username);
	
	console.log("===========得到json字符串===========");
	
	// 方式1(常用)
	var back = JSON.stringify(obj);
	console.log(back);
	
	// 方式2(不支持,需要引入json.js)
	// var back2 = obj.toJSONString();
	// console.log(back2);
	
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值