当前位置:首页 > 开发 > 编程语言 > Json > 正文

JSON.parse和JSON.stringify总结

发表于: 2015-01-21   作者:zhangzhaoaaa   来源:转载   浏览:
摘要:         用Jquery用习惯了,老是用jQuery.parseJSON方法转化json对象。今天总结一下现代浏览器内置的Json处理方法,JSON.parse和JSON.stringify两个常用方法。IE8之前的就不考虑了。       1

        用Jquery用习惯了,老是用jQuery.parseJSON方法转化json对象。今天总结一下现代浏览器内置的Json处理方法,JSON.parse和JSON.stringify两个常用方法。IE8之前的就不考虑了。 

     1.JSON.parse 函数 (JavaScript)
      作用     将 JavaScript 对象表示法 (JSON) 字符串转换为对象。
      语法    JSON.parse(text [, reviver])
参数
text

必需。 一个有效的 JSON 字符串。

reviver

可选。 一个转换结果的函数。 将为对象的每个成员调用此函数。 如果成员包含嵌套对象,则先于父对象转换嵌套对象。 对于每个成员,会发生以下情况:

  • 如果 reviver 返回一个有效值,则成员值将替换为转换后的值。

  • 如果 reviver 返回它接收的相同值,则不修改成员值。

  • 如果 reviver 返回undefined,则删除成员。(我在FF和chrome下试验的是返回undefined后,会删除成员,返回null,只会赋值为null)

返回值

一个对象或数组。

链接  https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

 

例子

var jsontext = '{"firstname":"Jesper","surname":"Aaberg","thirdname":"Mike"}'; 
var contact = JSON.parse(jsontext); 
console.log(contact.surname + ", " + contact.firstname+","+contact.thirdname); 
function aa(key,v){ 
   if (key===""){ 
      return v; 
   }else{ 
      var a=""; 
      if (key=="firstname"){ 
         a = "My"+v; 
         return a; 
      }else if (key=="surname"){ 
         return undefined; 
      }else{ 
         return null; 
      } 
  } 
} 
var c=JSON.parse(jsontext,aa); 
console.log(c);

结果 

Aaberg, Jesper,Mike
Object { firstname="MyJesper", thirdname=null}

 

2.JSON.stringify() 方法

作用  可以将任意的 JavaScript 值序列化成 JSON 字符串。

语法

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

value
       将要序列化成 JSON 字符串的值。
replacer 可选
       如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中。关于该参数更详细的解释和示例,请参考使用原生的 JSON 对象一文。
space 可选
       指定缩进用的空白字符串,用于美化输出(pretty-print)。

例子

var b = {"firstname":"mike","lastname":"jackson"};
 console.log(JSON.stringify(b));
 console.log(JSON.stringify(b,null," "));
 console.log(JSON.stringify(b,function(k,v){
  if (k===""){
   return v;
  }
  if (k=="firstname"){
   return "My"+v;
  }
 }));
 console.log(JSON.stringify(b,function(k,v){
  if (k===""){
   return v;
  }
  if (k=="firstname"){
   return "My"+v;
  }
 },"\t"));

结果 

{"firstname":"mike","lastname":"jackson"}
{
  "firstname": "mike",
  "lastname": "jackson"
}
{"firstname":"Mymike"}
{
 "firstname": "Mymike"
}



  
这编辑器实在是太难用了。。。。。

JSON.parse和JSON.stringify总结

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
作用:这个函数的作用主要是为了系列化对象的。 可能有些人对系列化这个词过敏,我的理解很简单。就
最近在来上海出差,基于APPCAN开发,看到文档里面有个JOSN.parse(),之前接触的JS方法比较少,就勤
近发现Javascript+json+php开发有点意思,于是做了个小查询功能“通过IP查询用户信息”. 一、先创建
相关链接:http://www.cnblogs.com/jiaozihardworking/archive/2012/03/13/2384024.html 把原来是对
开始用实例说明; 1.只有一个参数的情况下: ? var student = new Object(); student.name = "Lanny
作用:这个函数的作用主要是为了系列化对象的。 可能有些人对系列化这个词过敏,我的理解很简单。就
作用:这个函数的作用主要是为了系列化对象的。 可能有些人对系列化这个词过敏,我的理解很简单。就
转自: http://blog.csdn.net/hhy_huang/article/details/8444813 刚刚在逛园子的时候,突然看到了
刚刚在逛园子的时候,突然看到了一位园友的文章,里面涉及到一这样一个javascript函数:JSON.string
语法:   JSON.stringify(value [, replacer] [, space]) value:是必选字段。就是你输入的对象,
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号