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

可選參數,排版用的,如果它是數值,表示在每層縮進多少個空格,如果是字符串,例如 '\t' 或者' ',表示在每層使用這個字符來縮進。

 

例子

 

[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,"\t"));  
  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"}  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM