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

創(chuàng)新互聯(lián)建站10多年成都定制網(wǎng)頁設(shè)計服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及高端網(wǎng)站定制服務(wù),成都定制網(wǎng)頁設(shè)計及推廣,對水泥攪拌車等多個方面擁有多年設(shè)計經(jīng)驗的網(wǎng)站建設(shè)公司。
前兩個選項可以在 JavaScript 中處理,不需要開發(fā)人員做太多的工作。也就是說,要獲得正確的 JavaScript Date 對象,只需調(diào)用新的 Date(feed.updated)。但是,其缺點是,使用第一個選項會丟失與毫秒數(shù)和時區(qū)偏移有關(guān)的重要信息;
如果使用第二個選項,日期的 toString 序列會因?qū)崿F(xiàn)和地區(qū)的不同而不同。盡管使用 RFC 3339 序列需要額外的工作,但這是避免數(shù)據(jù)丟失和數(shù)據(jù)含義不明的惟一選項。
文本結(jié)構(gòu)
Atom 支持大量的文本和內(nèi)容選項,到目前為止,這是在 JSON 序列化過程中碰到的最復(fù)雜最困難的問題。文本結(jié)構(gòu),比如 title、subtitle、summary 和 rights 元素,可以包含純文本、轉(zhuǎn)義 HTML 或JavaScript 代碼;這些結(jié)構(gòu)具有語言敏感性,因此必須考慮 xml:lang 屬性;#t#
而且 HTML 和 XHTML 標(biāo)記可以包含需要解析的相對 URI。由于 Atom content 元素支持 Base64 編碼的內(nèi)容、任意 XML 標(biāo)記和使用 src 屬性引用的外部內(nèi)容,這使得序列化過程更加困難。
對 Atom 內(nèi)容進(jìn)行 JSON 序列化的目的是找到一種通用的表示方法,該方法能夠盡可能一致地捕獲這些選項。清單 18 展示了一個帶有 3 種文本結(jié)構(gòu)的提要示例。
2007-10-14T12:12:12Z
title 元素為純文本。它需要繼承提要的語言上下文,否則不具備描述性。subtitle 元素包含轉(zhuǎn)義的 HTML 標(biāo)記。right 元素也是純文本,但它覆蓋了語言上下文。清單 19 展示了這 3 個元素的JavaScript 代碼。
xmlns="http://www.w3.org/2005/Atom"> ... Example Feed type="html">This is an example feed xml:lang="fr">... ...
注意,這只是最簡單的情形,title 被序列化為一個簡單字符串。但是,由于 right 元素中的語言上下文時刻都會變化,所以盡管它是純文本,也被序列化為包含兩個字段(attributes 和 children)的對象。
對于 subtitle 元素,JavaScript 代碼標(biāo)記被解析并呈現(xiàn)為一種分層結(jié)構(gòu)。XHTML 標(biāo)記也使用相同的結(jié)構(gòu)(清單 20 和 21)。
- { "title":"Example Feed", "subtitle":{ "attributes":{ "type":"html" },
- "children":[ { "name":"p", "attributes":{ }, "children":["This is an
- example feed" ] } ] }, "rights":{ "attributes":{ "lang":"fr" },
- "children":[ "..." ] } }
當(dāng)前標(biāo)題:詳述JavaScript代碼顯示經(jīng)過JSON序列化的文本
轉(zhuǎn)載來源:http://m.5511xx.com/article/cdjojej.html


咨詢
建站咨詢
