麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

淺談JSON中stringify 函數(shù)、toJosn函數(shù)和parse函數(shù)

2019-11-20 13:19:19
字體:
供稿:網(wǎng)友

JSON.stringify 函數(shù) (JavaScript)

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

將 JavaScript 值轉(zhuǎn)換為 JavaScript 對象表示法 (Json) 字符串。

復(fù)制代碼 代碼如下:

value
必需。 要轉(zhuǎn)換的 JavaScript 值(通常為對象或數(shù)組)。
replacer
可選。 用于轉(zhuǎn)換結(jié)果的函數(shù)或數(shù)組。
如果 replacer 為函數(shù),則 JSON.stringify 將調(diào)用該函數(shù),并傳入每個(gè)成員的鍵和值。 使用返回值而不是原始值。 如果此函數(shù)返回 undefined,則排除成員。 根對象的鍵是一個(gè)空字符串:""。
如果 replacer 是一個(gè)數(shù)組,則僅轉(zhuǎn)換該數(shù)組中具有鍵值的成員。 成員的轉(zhuǎn)換順序與鍵在數(shù)組中的順序一樣。 當(dāng) value 參數(shù)也為數(shù)組時(shí),將忽略 replacer 數(shù)組。
space
可選。 向返回值 JSON 文本添加縮進(jìn)、空格和換行符以使其更易于讀取。
如果省略 space,則將生成返回值文本,而沒有任何額外空格。
如果 space 是一個(gè)數(shù)字,則返回值文本在每個(gè)級別縮進(jìn)指定數(shù)目的空格。 如果 space 大于 10,則文本縮進(jìn) 10 個(gè)空格。
如果 space 是一個(gè)非空字符串(例如“/t”),則返回值文本在每個(gè)級別中縮進(jìn)字符串中的字符。
如果 space 是長度大于 10 個(gè)字符的字符串,則使用前 10 個(gè)字符。

如果 value 具有 toJSON 方法,則 JSON.stringify 函數(shù)將使用該方法的返回值。 如果 toJSON 方法的返回值為 undefined,則不轉(zhuǎn)換成員。 這使對象能夠確定自己的 JSON 表示形式。

將不會(huì)轉(zhuǎn)換不具有 JSON 表示形式的值,例如 undefined。 在對象中,將丟棄這些值。 在數(shù)組中,會(huì)將這些值替換為 null。

執(zhí)行順序

在序列化過程中,如果 value 參數(shù)對應(yīng)有 toJSON 方法,則 JSON.stringify 將首先調(diào)用 toJSON 方法。 如果該方法不存在,則使用原始值。 接下來,如果提供 replacer 參數(shù),則該值(原始值或 toJSON 返回值)將替換為 replacer 參數(shù)的返回值。 最后,根據(jù)可選 space 參數(shù)向該值添加空格以生成最終的 JSON 文本。

此示例使用 JSON.stringify 將 contact 對象轉(zhuǎn)換為 JSON 文本。 定義 memberfilter 數(shù)組以便只轉(zhuǎn)換surname 和 phone 成員。 省略 firstname 成員。

復(fù)制代碼 代碼如下:

var contact = new Object();
contact.firstname = "Jesper";
contact.surname = "Aaberg";
contact.phone = ["555-0100", "555-0120"];
var memberfilter = new Array();
memberfilter[0] = "surname";
memberfilter[1] = "phone";
var jsonText = JSON.stringify(contact, memberfilter, "/t");
document.write(jsonText);
// Output:
// { "surname": "Aaberg", "phone": [ "555-0100", "555-0120" ] }

toJSON 方法 (Date) (JavaScript)

語法:objectname.toJSON()

objectname

必需。 需要進(jìn)行 JSON 序列化的對象。

toJSON 方法是 Date JavaScript 對象的內(nèi)置成員。 它返回 UTC 時(shí)區(qū)的 ISO 格式日期字符串(由后綴 Z 表示)。

以下示例使用 toJSON 方法將大寫的字符串成員值序列化。 在調(diào)用 JSON.stringify 時(shí)調(diào)用 toJSON 方法。

復(fù)制代碼 代碼如下:

JavaScript
var contact = new Object();
contact.firstname = "Jesper";
contact.surname = "Aaberg";
contact.phone = ["555-0100", "555-0120"];
contact.toJSON = function(key)
 {
    var replacement = new Object();
    for (var val in this)
    {
        if (typeof (this[val]) === 'string')
            replacement[val] = this[val].toUpperCase();
        else
            replacement[val] = this[val]
    }
    return replacement;
};
var jsonText = JSON.stringify(contact);
/* The value of jsonText is:
'{"firstname":"JESPER","surname":"AABERG","phone":["555-0100","555-0120"]}'
*/

JSON.parse 函數(shù) (JavaScript)

將 JavaScript 對象表示法 (JSON) 字符串轉(zhuǎn)換為對象

語法:JSON.parse(text [, reviver])

復(fù)制代碼 代碼如下:

text
必需。 一個(gè)有效的 JSON 字符串。
reviver
可選。 一個(gè)轉(zhuǎn)換結(jié)果的函數(shù)。 將為對象的每個(gè)成員調(diào)用此函數(shù)。 如果成員包含嵌套對象,則先于父對象轉(zhuǎn)換嵌套對象。 對于每個(gè)成員,會(huì)發(fā)生以下情況:
如果 reviver 返回一個(gè)有效值,則成員值將替換為轉(zhuǎn)換后的值。
如果 reviver 返回它接收的相同值,則不修改成員值。
如果 reviver 返回 null 或 undefined,則刪除成員。

以下示例使用 JSON.parse 將 JSON 字符串轉(zhuǎn)換成對象。

復(fù)制代碼 代碼如下:

var jsontext = '{"firstname":"Jesper","surname":"Aaberg","phone":["555-0100","555-0120"]}';
var contact = JSON.parse(jsontext);
document.write(contact.surname + ", " + contact.firstname);
// Output: Aaberg, Jesper

以下示例演示了如何使用 JSON.stringify 將數(shù)組轉(zhuǎn)換成 JSON 字符串,然后使用 JSON.parse 將該字符串重新轉(zhuǎn)換成數(shù)組。

復(fù)制代碼 代碼如下:

var arr = ["a", "b", "c"];
var str = JSON.stringify(arr);
document.write(str);
document.write ("<br/>");
var newArr = JSON.parse(str);
while (newArr.length > 0) {
    document.write(newArr.pop() + "<br/>");
}
// Output:
// ["a","b","c"]
// c
// b
// a

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 香蕉黄色网 | 手机国产乱子伦精品视频 | 久久成人午夜视频 | 久久艹艹艹| 亚洲日本韩国精品 | 国产精品免费久久久久久 | 国产一区视频在线免费观看 | 性爱视频在线免费 | 国内毛片视频 | 毛片天天看| 一级毛片播放 | 色999国产 | 久久精品久久久久 | 久久精品视频黄色 | 日韩午夜一区二区三区 | 国产精品久久久久无码av | hdbbwsexvideo| 欧美激情视频一区二区免费 | 欧美性色黄大片www 操碰网 | 久久久久久久久久久久网站 | 美女视频免费一区二区 | 国产电影av在线 | 欧美a∨一区二区三区久久黄 | 国产精品成人免费一区久久羞羞 | 国产一级毛片高清视频 | 日本中文一级片 | 欧美精品激情在线 | 爽成人777777婷婷 | 一级做a爱片性色毛片 | 国产三级午夜理伦三级 | 精品在线观看一区二区三区 | 羞羞的视频在线免费观看 | 国产一区二区三区视频观看 | 久久久久久久久久久久久久国产 | 国产亚洲精品久久久久久网站 | 91精品国产乱码久久久久久久久 | 蜜桃视频最新网址 | 欧美 国产 亚洲 卡通 综合 | 欧美一级网 | 久久久久久久久久一本门道91 | 色播亚洲 |