zoukankan      html  css  js  c++  java
  • jQuery插件-json2.js

    from:http://blog.csdn.net/gjb724332682/article/details/46682743

    前言

    json2.js是一个json插件,下载地址:https://github.com/douglascrockford/JSON-js

    它包含两个方法,JSON.stringify(value, replacer, space)和JSON.parse(text, reviver)

    JSON.stringify(value, replacer, space)

    value

    要序列化的值,可以是数组或者对象。

    replacer

    可选参数,可以是一个函数或者一个数组,函数可以根据键替换旧的值,而数组可以决定要序列化的键。

    space

    可选参数,排版用的,如果它是数值,表示在每层缩进多少个空格,如果是字符串,例如 ' ' 或者' ',表示在每层使用这个字符来缩进。

    例子

    [html] view plain copy
     
    1. 1、console.log(JSON.stringify([{a: "诶"}, {b: "比"}]));  
    2. 结果:  
    3. [{"a":"诶"},{"b":"比"}]  
    4.   
    5. 2、console.log(JSON.stringify([{a: "诶"}, {b: "比"}],null," "));  
    6. 结果:  
    7. [  
    8.     {  
    9.         "a": "诶"  
    10.     },  
    11.     {  
    12.         "b": "比"  
    13.     }  
    14. ]  
    15.   
    16. 3、console.log(JSON.stringify([{a: "诶"}, {b: "比"}],["a"]));  
    17. 结果:  
    18. [{"a":"诶"},{}]  
    19.   
    20. 4、var jsonText = JSON.stringify({  
    21.                 a : "诶",  
    22.                 b : "比"  
    23.             },jsonConvert);  
    24. function jsonConvert(key, value) {  
    25.                 switch (key) {  
    26.                 case "a":  
    27.                     return "A";  
    28.                 case "b":  
    29.                     return "B";  
    30.                 default:  
    31.                     return value;  
    32.                 }  
    33.             }  
    34. console.log(jsonText);  
    35. 结果:  
    36. {"a":"A","b":"B"}  
    37.   
    38. 5、有时候JSON.stringify()还是不能满足对某些对象进行自定义序列化的需求,在这些情况下,可以通过对象上调用toJSON()方法,返回其自身的JSON数据格式。  
    39. 例如:console.log(JSON.stringify({a: "诶",b: "比",toJSON:function(){return "自定义"}});结果是返回"自定义".  

    JSON.parse(text, reviver)

    text

    要解析的字符串。

    reviver

    可选参数,是一个函数,用于过滤和转换结果,它接收每一对键值对并执行这个函数,记住,最后一定要加上return value。

    例子

    [html] view plain copy
     
    1. 1、console.log(JSON.parse('{"a":"诶","b":"比"}'));  
    2. 结果:  
    3. Object { a="诶",  b="比"}  
    4.   
    5. 2、console.log(JSON.parse('{"a":"诶","b":"比"}',function(key,value){  
    6.                 if(key=="a"){  
    7.                     return "A";  
    8.                 }else if(key=="b"){  
    9.                     return "B";  
    10.                 }  
    11.                 return value;  
    12.             }));  
    13. 结果:  
    14.  Object { a="A",  b="B"}  
  • 相关阅读:
    二叉树遍历
    NO.35 2021/12/13(06:50)[周一]
    NO.29 2021/11/30(06:30)[周二]
    NO.22 2021/11/19(06:15) [周五]
    The .NET ORM Architec
    C#格式字符串
    C# Attribute
    .net DLL反编译文件
    【Beta】Scrum meeting1
    【Alpha】Scrum meeting 6
  • 原文地址:https://www.cnblogs.com/huandong963/p/13950491.html
Copyright © 2011-2022 走看看