`

JSON.parse和JSON.stringify总结

阅读更多

        用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"
}



  
这编辑器实在是太难用了。。。。。
1
1
分享到:
评论
1 楼 freezingsky 2015-01-21  
前两天发现在IE9下,直接用原生的JSON方法,竟然告诉我没有对象。。。

相关推荐

    JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析

    主要介绍了JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能,结合实例形式分析了JSON.parse()与JSON.stringify()方法实现深拷贝的相关实现技巧与操作注意事项,需要的朋友可以参考下

    深入剖析 JavaScript 中的 JSON.stringify 和 JSON.parse

    JavaScript 内置的 JSON.stringify 和 JSON.parse 方法,为开发者提供了便捷的JSON数据序列化和反序列化能力。本文将深入探讨这两个方法的工作原理、使用场景以及一些高级技巧。 JSON.stringify 和 JSON.parse 是 ...

    json.stringify()与json.parse()的区别以及用处.docx

    JSON.stringify() 和 JSON.parse() 是JavaScript中用于处理JSON数据的两个关键函数,它们在JSON对象序列化和反序列化过程中起着至关重要的作用。 一、JSON.stringify() JSON.stringify() 的主要功能是将JavaScript...

    JSON.parse课件.zip

    JSON.parse和JSON.stringify是JavaScript中的两个关键方法,它们在处理JSON数据时发挥着重要作用。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。...

    浅谈JSON.parse()和JSON.stringify()

    - 除了标准的JSON.parse() 和 JSON.stringify() 方法,jQuery库也提供了类似功能的方法,分别是jQuery.parseJSON和jQuery.stringifyJSON。这些方法在功能上与原生JavaScript方法类似,但它们是jQuery的一部分,主要...

    JSON.stringify()报错:JSON未定义

    这个文件提供了一个兼容旧浏览器的JSON对象,包含了`stringify()`和`parse()`方法的实现。你可以将这个文件引入到你的项目中,以便在不支持JSON的环境中使用`JSON.stringify()`。 总结起来,`JSON.stringify()`是...

    json ,json_parse.js

    在JavaScript中,我们有两个内置函数用于与JSON进行交互:`JSON.stringify()` 和 `JSON.parse()`。`JSON.stringify()` 用于将JavaScript对象转换为JSON字符串,而`JSON.parse()`则用于将JSON字符串转换回JavaScript...

    JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数

    总结而言,JSON.parse和JSON.stringify是JavaScript中处理JSON数据的两个核心函数,它们让JSON格式数据的解析和序列化变得简单高效。无论是在Web开发中进行前后端的数据交互,还是在本地存储数据时,这两个函数都能...

    JSON中key动态设置及JSON.parse和JSON.stringify()的区别

    本文给大家介绍JSON中key动态设置及JSON.parse和JSON.stringify()的区别讲解,具体详情如下所示: var user_info_json = []; user_info_json[user_info_json.length] = eval('('+ '{'+ id +': '+ value +'}' +...

    StringNumber:JSON.parse stringify将大数字转换为字符串

    字串号码JSON.parse / stringify将大数字转换为字符串。 基于 。 尽管大多数JSON解析器都假定数字值具有与IEEE 754 double相同的精度限制,但JSON规范并未说明任何数字精度。 十进制(可选地,科学的)表示法中的...

    关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法

    1. JSON.parse(jsonString): 在一个字符串中解析出JSON对象 var str = '[{href:baidu.com,text:test,orgId:123,dataType:curry,activeClass:haha}]'; JSON.parse(str); 结果: 2. JSON.stringify(obj) : 将一个...

    json3.js 【JS / JavaScript 中解析JSON的js包,JSON官方的JSON解析包】

    json3.js 【JS / JavaScript 中...JavaScript中解析JSON --- JSON.parse()、JSON.stringify()以及$.parseJSON()使用详解 - chunlynn的小屋 - CSDN博客 http://blog.csdn.net/chenchunlin526/article/details/78850924

    JSON2.JS JSON.JS JSON_PARSE.JS

    toJSONString method and a parseJSON method to Object.prototype. Use of this file is not recommended. json_parse.js: This file contains an alternative JSON parse function that uses recursive descent ...

    浅谈JSON.stringify()和JOSN.parse()方法的不同

    JSON.stringify() 和 JSON.parse() 是JavaScript中处理JSON数据的关键函数,它们在JSON操作中起着至关重要的作用。本文将深入探讨这两个方法的功能、用法以及它们之间的差异。 首先,我们来看JSON.stringify()方法...

    JSON.parse()和JSON.stringify()使用介绍

    JSON.parse() 和 JSON.stringify() 是JavaScript中的两个内置函数,它们分别用于JSON数据的解析和序列化。理解这两个函数的工作原理和使用方法对于处理JSON数据至关重要。 **JSON.parse()** `JSON.parse()` 函数的...

Global site tag (gtag.js) - Google Analytics