自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳述JavaScript 代碼顯示經(jīng)過(guò) JSON 序列化的文本

開發(fā) 前端
為每一個(gè)軟件行業(yè)的從業(yè)人員,無(wú)論是開發(fā)人員、項(xiàng)目經(jīng)理、還是測(cè)試人員,也要不斷適應(yīng)這個(gè)趨勢(shì),我認(rèn)為JavaScript 代碼只會(huì)使我們的工作更簡(jiǎn)單和更輕松。

JavaScript 代碼 的數(shù)據(jù)輸入模型,在序列化日期時(shí),選擇非常有限。我可以:將日期轉(zhuǎn)換為日期的 JavaScript toString 序列(例如,2007 年 10 月 21 日 星期日 12:34:28 GMT-0700 (PDT)) 按日期在 Atom 文檔中的呈現(xiàn)形式對(duì)其進(jìn)行復(fù)制。

前兩個(gè)選項(xiàng)可以在 JavaScript 中處理,不需要開發(fā)人員做太多的工作。也就是說(shuō),要獲得正確的 JavaScript Date 對(duì)象,只需調(diào)用新的 Date(feed.updated)。但是,其缺點(diǎn)是,使用第一個(gè)選項(xiàng)會(huì)丟失與毫秒數(shù)和時(shí)區(qū)偏移有關(guān)的重要信息;

如果使用第二個(gè)選項(xiàng),日期的 toString 序列會(huì)因?qū)崿F(xiàn)和地區(qū)的不同而不同。盡管使用 RFC 3339 序列需要額外的工作,但這是避免數(shù)據(jù)丟失和數(shù)據(jù)含義不明的惟一選項(xiàng)。

文本結(jié)構(gòu)

Atom 支持大量的文本和內(nèi)容選項(xiàng),到目前為止,這是在 JSON 序列化過(guò)程中碰到的最復(fù)雜最困難的問題。文本結(jié)構(gòu),比如 title、subtitle、summary 和 rights 元素,可以包含純文本、轉(zhuǎn)義 HTML 或JavaScript 代碼;這些結(jié)構(gòu)具有語(yǔ)言敏感性,因此必須考慮 xml:lang 屬性;#t#

而且 HTML 和 XHTML 標(biāo)記可以包含需要解析的相對(duì) URI。由于 Atom content 元素支持 Base64 編碼的內(nèi)容、任意 XML 標(biāo)記和使用 src 屬性引用的外部?jī)?nèi)容,這使得序列化過(guò)程更加困難。

對(duì) Atom 內(nèi)容進(jìn)行 JSON 序列化的目的是找到一種通用的表示方法,該方法能夠盡可能一致地捕獲這些選項(xiàng)。清單 18 展示了一個(gè)帶有 3 種文本結(jié)構(gòu)的提要示例。

  1. <updated>2007-10-14T12:12:12Z</updated> 

title 元素為純文本。它需要繼承提要的語(yǔ)言上下文,否則不具備描述性。subtitle 元素包含轉(zhuǎn)義的 HTML 標(biāo)記。right 元素也是純文本,但它覆蓋了語(yǔ)言上下文。清單 19 展示了這 3 個(gè)元素的JavaScript 代碼。

  1. <feed xmlns="http://www.w3.org/2005/Atom">   ... 
  2.  <title>Example Feed</title>  <subtitle type="html"><p>This is an example feed</p></subtitle> 
  3.  <rights xml:lang="fr">...</right>  ...</feed> 

注意,這只是最簡(jiǎn)單的情形,title 被序列化為一個(gè)簡(jiǎn)單字符串。但是,由于 right 元素中的語(yǔ)言上下文時(shí)刻都會(huì)變化,所以盡管它是純文本,也被序列化為包含兩個(gè)字段(attributes 和 children)的對(duì)象。

對(duì)于 subtitle 元素,JavaScript 代碼標(biāo)記被解析并呈現(xiàn)為一種分層結(jié)構(gòu)。XHTML 標(biāo)記也使用相同的結(jié)構(gòu)(清單 20 和 21)。

  1. {  "title":"Example Feed",   "subtitle":{     "attributes":{       "type":"html"     },       
  2.  
  3. "children":[      {         "name":"p",         "attributes":{ },         "children":["This is an   
  4.  
  5. example feed" ]       }     ]  },  "rights":{    "attributes":{      "lang":"fr"    },      
  6.  
  7. "children":[      "..."    ]  } } 
責(zé)任編輯:chenqingxiang 來(lái)源: 計(jì)世網(wǎng)
相關(guān)推薦

2013-03-11 13:55:03

JavaJSON

2009-07-29 13:39:02

JSON序列化和反序列ASP.NET AJA

2021-11-18 07:39:41

Json 序列化Vue

2016-10-20 15:54:08

Python數(shù)據(jù)序列化

2010-03-19 15:54:21

Java Socket

2018-01-17 16:38:07

MSONJSON序列化

2016-12-20 14:55:52

JavaScript鏈?zhǔn)?/a>結(jié)構(gòu)序列

2011-06-01 15:05:02

序列化反序列化

2022-08-06 08:41:18

序列化反序列化Hessian

2018-03-19 10:20:23

Java序列化反序列化

2024-10-07 08:26:53

2010-01-08 11:11:38

JSON 序列化

2024-01-30 13:32:51

JSON反序列化序列化

2009-06-14 22:01:27

Java對(duì)象序列化反序列化

2009-08-24 17:14:08

C#序列化

2011-06-01 14:26:11

序列化

2023-12-13 13:49:52

Python序列化模塊

2009-08-06 11:16:25

C#序列化和反序列化

2011-05-18 15:20:13

XML

2012-04-13 10:45:59

XML
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)