JSON.parse()和JSON.stringify()的作用

107 阅读1分钟

一、JSON的解析方法有两种:eval()和JSON.parse()

var jsonstr='{"str1":"Hello,", "str2":"world!"}';
var evalJson=eval('('+jsonstr+')');
var jsonParseJson=JSON.parse(jsonstr);
//控制台输出
evalJson
{str1: 'Hello,', str2: 'world!'}
jsonParseJson
{str1: 'Hello,', str2: 'world!'}

这样就把jsonstr这个json格式的字符串转换成了JSON对象。

二者的区别在于:JSON.parse()可以解析json格式的数据,并且会对要解析的字符串进行格式检查,如果格式不正确则不进行解析,而eval()可以解析任何字符串,eval()会执行字符串的代码,造成原先字符串的值改变,是不安全的。

JSON.stringify()

该函数的作用是:系列化对象
系列化对象说白了就是把对象的类型转换为字符串类型

const userInfo= {
    name: 'zs',
    age: 20
}
console.log(JSON.stringify(userInfo));
// {"name":"zs","age":20}