JavaScript中JSON和对象之间的转换规则

JavaScript中JSON和对象之间的转换规则

1.对象转JSON

使用 JSON.stringify() 方法

原始数据是对象且符合对象的规则。不符合对象的规则,就会报错。

 	var obj = {
            name:"admin",
            age:18,
            sex:"男",
            show:function(){},
            a:undefined,
            b:NaN,
            c:null,
        }
	var str = JSON.stringify(obj);
	console.log(str);//{"name":"admin","age":18,"sex":"男","b":null,"c":null}
	console.log(typeof str);//string

因为json不识别函数,undefined和NaN,所以在强行转换之后,函数和undefined会被忽略,而NaN被转成null

2.JSON转对象

使用 JSON.parse() 方法

如果原始数据是JSON且符合JSON的规则,那么结果数据是对象,这个对象默认符合对象的规则。

JSON的规则如下:

1.必须是字符

var str = `{"name":"admin","age":18}`;	//符合规则
var str = {"name":"admin","age":18};	//报错
var o = JSON.parse(str);
console.log(o);

2.基础格式参考js中的对象(array和object)

var str = '["hello",123,true]';	//符合规则
var str = `{"name":"admin","age":18}`;	//符合规则
var str = "name":"admin","age":18;	//报错
var o = JSON.parse(str);
console.log(o);

3.对象格式的key部分必须放在双引号中,单引号都不行

var str = `{"name":"admin","age":18}`;	//符合规则
var str = "{`name:`admin`,`age`:18}";	//报错
var o = JSON.parse(str);
console.log(o);

4.不允许出现没有意义的逗号

var str = '{"name":"admin"}';	//符合规则
var str = '{"name":"admin",}';	//报错
var o = JSON.parse(str);
console.log(o);

5.不允许出现 函数,undefined和NaN,但可以出现null

var str = '{"name":"admin","show":null}';	//符合规则
var str = '{"name":"admin","show":undefined}';	//报错
var str = '{"name":"admin","show":function(){}';	//报错
var str = '{"name":"admin","show":NaN}';	//报错
var o = JSON.parse(str);
console.log(o);

6.不允许出现单引号

var json = '["hello",123,true]';	//符合规则
var json = "['hello',123,true]";	//报错
var o = JSON.parse(str);
console.log(o);

扩展名为:.json的文件专门用来表示json,在json文件中输入的所有内容,默认就是字符 所以,在json文件中只需要严格符合第2,3,4,5,6点规则即可

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值