1. 程式人生 > >【js】JSON.stringify 語法例項講解

【js】JSON.stringify 語法例項講解

語法: 
  JSON.stringify(value [, replacer] [, space]) 

  • value:是必選欄位。就是你輸入的物件,比如陣列,類等。 
  • replacer:這個是可選的。它又分為2種方式,一種是陣列,第二種是方法。 

情況一:replacer為陣列時,通過後面的實驗可以知道,它是和第一個引數value有關係的。一般來說,系列化後的結果是通過鍵值對來進行表示的。 所以,如果此時第二個引數的值在第一個存在,那麼就以第二個引數的值做key,第一個引數的值為value進行表示,如果不存在,就忽略。

  情況二:replacer為方法時,那很簡單,就是說把系列化後的每一個物件(記住是每一個)傳進方法裡面進行處理。 

  • space:就是用什麼來做分隔符的。 

  1)如果省略的話,那麼顯示出來的值就沒有分隔符,直接輸出來 。
  2)如果是一個數字的話,那麼它就定義縮排幾個字元,當然如果大於10 ,則預設為10,因為最大值為10。
  3)如果是一些轉義字元,比如“\t”,表示回車,那麼它每行一個回車。 
  4)如果僅僅是字串,就在每行輸出值的時候把這些字串附加上去。當然,最大長度也是10個字元。 
下面用例項說明;

  1)只有第一個引數的情況下

//1
var student = new Object(); 
student.name = "Lanny"; 
student.age = "25"; 
student.location 
= "China"; var json = JSON.stringify(student); alert(json); //alert(student);

  結果如下圖:

  有些人可能會懷疑JSON.stringify的作用。那假如,我們不要這個函式,而直接alert(student),結果如下:

  這次意識到JSON.stringify的作用了吧。

  2)第二個引數存在,並且第二個引數還是function的時候 

//2
var students = new Array() ; 
students[0] = "onepiece"; 
students[
1] = "naruto"; students[2] = "bleach"; var json = JSON.stringify(students,switchUpper); function switchUpper(key, value) { return value.toString().toUpperCase(); } alert(json); /*下面這種方式也可以 var json = JSON.stringify(students, function (key,value) { return value.toString().toUpperCase()}); alert(json); */

  執行結果如下:

  3)第二個引數存在,並且第二個引數不是function,而是陣列的時候

//3
var stuArr1 = new Array() ; 
stuArr1[0] = "onepiece"; 
stuArr1[1] = "naruto"; 
stuArr1[2] = "bleach"; 
var stuArr2 = new Array(); 
stuArr2[0] = "1"; 
stuArr2[1] = "2"; 
var json = JSON.stringify(stuArr1,stuArr2)
alert(json); 

  執行結果如下:

  第二個引數被忽略了,只是第一個引數被系列化了。

  4)如果第一個引數是物件,第二個引數是陣列的情況

//4
var stuObj = new Object(); 
stuObj.id = "20122014001"; 
stuObj.name = "Tomy"; 
stuObj.age = 25; 

var stuArr = new Array(); 
stuArr[0] = "id"; 
stuArr[1] = "age"; 
stuArr[2] = "addr";//這個stuObj物件裡不存在。 

var json = JSON.stringify(stuObj,stuArr); 
//var json = JSON.stringify(stuObj,stuArr,1000); 
//var json = JSON.stringify(stuObj,stuArr,'\t'); 
//var json = JSON.stringify(stuObj,stuArr,'OK '); 
alert(json); 

  執行結果如下:

  第三個引數為數字時候的輸出結果:

  第三個引數為轉義字元\t的時候輸出的結果:

  第三個引數為字串時候的輸出結果:

參考資料:

http://www.jb51.net/article/29893.htm

相關推薦

jsJSON.stringify 語法例項講解

語法:   JSON.stringify(value [, replacer] [, space])  value:是必選欄位。就是你輸入的物件,比如陣列,類等。  replacer:這個是可選的。它又分為2種方式,一種是陣列,第二種是方法。  情況一:replacer為陣列時,通過後面的實

JSON.stringify 語法例項講解

轉自: 語法: JSON.stringify(value [, replacer] [, space]) value:是必選欄位。就是你輸入的物件,比如陣列,類等。 replacer:這個是可選的。它又分為2種方式,一種是陣列,第二種是方法。

JSON.stringify 語法例項講解

認識javascript也不短的時間了,可是這個用法說實在的,我還是第一次見過,慚愧啊慚愧啊。於是乎,在網上找了寫資料,寫了些例子 希望能給園子們一些幫助。 作用:這個函式的作用主要是為了系列化物件的。 可能有些人對系列化這個詞過敏,我的理解很簡單。就是說把原來是物件的型別轉換成字串型別(或者更確切的說是

JSON.stringify 語法例項講解 JSON格式化

語法:   JSON.stringify(value [, replacer] [, space])  value:是必選欄位。就是你輸入的物件,比如陣列,類等。 replacer:這個是可選的。它又分為2種方式,一種是陣列,第二種是方法。  情況一:replacer為陣

JSjson匯出到excel,自定義檔名和字尾名

json匯出excel表格 HTML <el-button type="danger" class="ml10 fr" @click="exportForm">匯出表格</el-button> JS 表格輸出的數字,如果太長,會自動計算

php+jsJSON用法之將PHP數組轉JS數組,JS如何接收PHP數組

str nbsp font encode 字符 TE each 去掉 -s 1、我前臺需要接受如下格式的 json 數組數據,用來渲染 [ {date:"2018-06-09",data:"1"}, {date:"2018-06-23",data:"aadsf34"}

Python關鍵語法-閉包:函式中的函式用法例項

本文例項講述了Python閉包的用法。分享給大家供大家參考,具體如下: Python函式中也可以定義函式,也就是閉包。跟js中的閉包概念其實差不多,舉個Python中閉包的例子。 def make_adder(addend): def adder(augend

jsAjax提交form表單(ajaxSubmit使用講解

1 、引入依賴指令碼 <script type="text/javascript" src="/js/jquery/jquery.form.js"></script>   /

JSONJSON.stringify()

JSON.stringify() JSON 通常用於與服務端交換資料。 在向伺服器傳送資料時一般是字串。 我們可以使用 JSON.stringify() 方法將 JavaScript 物件轉換為字串。 語法 JSON.stringify(value[, repla

JsJSON.stringify()與JSON.parse()與eval()詳解及使用案例

div 網絡 blog 處理 ive asc 還要 ava 不同 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。因為采用獨立於語言的文本格式,也使用了類似於C語言家族的習慣,擁有了這些特性使使JSON稱為理想的數據交換語言,作用

JSJavaScript引擎的內部執行機制

under scrip str tro blog rip 回調函數 ron span  近期在復習JavaScript,看到setTimeout函數時。想起曾經剛學時,在一本書上看過setTimeout()裏的回調函數執行的間隔時間

js再談移動端的模態框實現

其中 這就是 層級關系 成了 移動 top 做了 rop 操作   移動端模態框的機制因為與PC的模態框機制一直有所區別,一直是許多新人很容易踩坑的地方,最近筆者作為一條老鹹魚也踩進了一個新坑中,真是平日裏代碼讀得太粗略,故而寫上幾筆,以儆效尤。   故事的起因是這樣的,兄

jsvue.js v-model

radio width mode radi .so disable val htm com <tr> <td width="60" height="44">排序號:</td> <td width="180">

js隨機色的2種實現方式

+= function color var 隨機 隨機色 cti 2種 dom 隨機顏色的二種寫法 寫法一:var arr = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "A

Pythonpython基礎語法 編碼

finall ont 實現 tro out 程序 port 其他 pytho 編碼 默認情況下,python以UTF-8編碼,所有的字符串都是Unicode字符串,可以為代碼定義不同的的編碼。 #coding:UTF-8 #OR #-*- coding:UTF-8 -

jsapply&&call difference

數組 http lac glob 代碼 cal arguments 實現 使用 1、方法定義 call方法: 語法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定義:調用一個對象的一個方法,以另一個對象替換當前對象。 說明: c

js接口實現代碼

此外 額外 const 沒有 輔助方法 通過 ces 程序 string 一、什麽是接口 接口是面向對象JavaScript程序員的工具箱中最有用的工具之一。在設計模式中提出的可重用的面向對象設計的原則之一就是“針對接口編程而不是實現編程”,即我們所說的面向接

jsthis=>>4種用法

new t bit 結果 containe www 運行 pad con toolbar JS中this的四種用法 1.在一般函數方法中使用 this 指代全局對象 1 2 3 4 5 function test(){     this.x =

JSjQuery中將數組轉換成字符串join()和push()使用

div array code span 數組 分隔 ext class on() 1、push()將元素依次添加至數組;2、join()將數組轉換成字符串,裏面可以帶參數分隔符,默認【,】 <script type = text/javascript>

jsjs選擇並排除元素

選擇 -c ack check page www. www color htm var select = $(‘#tonnagePage‘).find(‘input[type="checkbox"]:checked‘).not("#tonnageCheckAll");htt