json.stringify()和json.parse()

一:json.stringify()

JSON.stringify(value [, replacer] [, space]) 

      value:是必选字段。就是你输入的对象,比如数组,类等。 

      replacer:这个是可选的。它又分为2种方式,一种是数组,第二种是方法

     space:用来做分隔符的。 

1)只有第一个参数的情况下:

代码:

var student=new Object();

student.name="Lanny";

student.age="25";

student.location="China";

var json=JSON.stringify(student);

alert(json);

2)第二个参数存在且第二个参数为function时

代码:

var student=new Array();

student[0]="onepiece";

student[1]="naruto";

student[2]="bleach";

var json = JSON.stringify(student,switchUpper);

  function switchUpper(key, value) {  return value.toString().toUpperCase();}

alert(json);

二:json.parse()

语法:JSON.parse(text[, reviver])

参数:text 【必选,一个有效的字符串】

        reviver【可选,一个转换结果的函数】

示例1:将JSON字符串转化为对象

代码:

var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}';

var contact = JSON.parse(jsontext);

document.write(contact.surname + ", " + contact.firstname);

输出结果为:Aaberg,Jesper

示例2:使用json.parse()遇见JS代码可直接解析出错误

综述以上了解,可知json.stringify()是将对象或者数组转化为字符串,json.parse()是将字符串转化为对象。

以下示例演示了如何使用 JSON.stringify 将数组转换成 JSON 字符串,然后使用 JSON.parse 将该字符串重新转换成数组。

输出结果:


与json.parse()相同用法的还有一个eval()函数,都是把JSON字符串转化为对象,同时也是一种解析方法。

示例:

var user="{'id':1001,'name':'张三'}";//

alert(user.id+"  "+user.name);//测试得出“undefined”

var userObj=eval("("+user+")")     

alert(userObj.id+"  "+userObj.name);//使用eval函数之后测试出“1001  张三”

从以上例子可以得出,声明变量user不是一个json对象,需要使用eval()函数转化为json对象

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容