JSON eval()和parse()方法以及stringfy()方法 作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON eval()和parse()方法以及stringfy()方法 作用相关的知识,希望对你有一定的参考价值。

(1)把 JSON 文本转换为 javascript 对象

    由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。

    语法:var obj = eval ("(" + jsonTxt + ")");  其中jsonTxt是JSON文本。

    实例如下:

var jsonTxt = ‘{"name":"leinov","sex":"famle","address":"beijing"}‘  
var jsonObj = eval("("+jsonTxt+")");  
alert(typeof jsonObj); //Object

JSON.parse();
作用:将JavaScript对象表示法的JSON字符串转换为对象(字符串转对象)
语法:JSON.parse(text [, reviver])
text 必选。 一个有效的 JSON 字符串。
reviver 可选。 一个转换结果的函数。 将为对象的每个成员调用此函数。
返回值:JSON对象
实例如下:
var jsonTxt = ‘{"name":"leinov","sex":"famle","address":"beijing"}‘  
var jsonObj = JSON.parse(jsonTxt);  
alert(typeof jsonObj); //Object
(2)把 JSON 对象转换为 JSON字符串
JSON.stringify()
作用:将 JavaScript json对象转换为JavaScript对象表示法的JSON字符串(对象转为字符串)
语法:JSON.stringify(value [, replacer] [, space]);
value     必选。    通常为对象或数组
replacer 可选。    转换结果的函数或数组
space     可选。    添加缩进、空白和换行符来返回值 JSON 文本更便于阅读。
        如果省略 space,返回值文本生成,没有任何额外的空白。
        如果 space 是数字,则返回值具有空白的文本缩进指定数目在每个级别的。 如果 space 大于10 时,文本缩进 10 个空白。
        如果 space 为非空字符串,如“\t”,返回值文本缩进与字符串的字符在每个级别。
        如果 space 为大于 10 个字符的字符串,使用前 10 个字符。
返回值:JSON 包含的文本字符串。

var student = new Object();  
student.name = "lenovointer";  
student.sex = "male";  
student.address = "hz";  
var jsonStudent = JSON.stringify(student);  
alert(typeof jsonStudent); //string


本文出自 “front-end” 博客,谢绝转载!

以上是关于JSON eval()和parse()方法以及stringfy()方法 作用的主要内容,如果未能解决你的问题,请参考以下文章

js中解析json时候的eval和$.parseJSON()的区别以及JSON.stringify()

JavaScript中eval()和$.parseJSON()的区别和联系以及JSON.stringify()的区别

JSON中eval与parse的区别

JSON.parse()和eval()的区别

JSON.parse()和eval()的区别

JSON.parse和eval的区别