MozTW 討論區 https://forum.moztw.org/ |
|
Native JSON in Firefox 3.1 https://forum.moztw.org/viewtopic.php?f=18&t=26224 |
第 1 頁 (共 1 頁) |
發表人: | adam [ 2009-02-22, 15:44 ] |
文章主題 : | Native JSON in Firefox 3.1 |
http://blog.mozilla.com/webdev/2009/02/12/native-json-in-firefox-31/ 3.1 要加入這個功能?Native JSON 是什麼? |
發表人: | kourge [ 2009-02-23, 22:36 ] |
文章主題 : | |
JSON 是 JavaScript Object Notation (物件標記法),可以用來序列化資料,方便做傳輸,在有些情況下比 XML 更輕量化。 例。 JSON: 代碼: { "firstName": "John", "lastName": "Smith", "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": 10021 }, "phoneNumbers": [ "212 555-1234", "646 555-4567" ] } 可能的對等 XML: 代碼: <person>
<firstName>John</firstName> <lastName>Smith</lastName> <address> <streetAddress>21 2nd Street</streetAddress> <city>New York</city> <state>NY</state> <postalCode>10021</postalCode> </address> <phoneNumber>212 555-1234</phoneNumber> <phoneNumber>646 555-4567</phoneNumber> </person> 以往 JSON 跟 XML 比起來的好處是,client 方的程式碼都是 JavaScript 寫的,所以 JSON 資料直接丟到 eval() 就可以處理了,不像 XML 還要嗎序列化後插入 DOM,要嗎甚至得丟到 parser 解析器裡面去處理到氣死人。 不過,用 JSON,直接丟到 eval(),有安全性的問題。所以所謂 native JSON 一樣是去解析 JSON、重建資料,而不是無腦的丟到 JS 的 eval() 去,把 JSON 內可能藏有的危險程式碼一併執行。 |
發表人: | adam [ 2009-02-24, 11:51 ] |
文章主題 : | |
kourge 寫: JSON 是 JavaScript Object Notation (物件標記法),可以用來序列化資料,方便做傳輸,在有些情況下比 XML 更輕量化。
例。 JSON: 代碼: { "firstName": "John", "lastName": "Smith", "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": 10021 }, "phoneNumbers": [ "212 555-1234", "646 555-4567" ] } 可能的對等 XML: 代碼: <person> <firstName>John</firstName> <lastName>Smith</lastName> <address> <streetAddress>21 2nd Street</streetAddress> <city>New York</city> <state>NY</state> <postalCode>10021</postalCode> </address> <phoneNumber>212 555-1234</phoneNumber> <phoneNumber>646 555-4567</phoneNumber> </person> 以往 JSON 跟 XML 比起來的好處是,client 方的程式碼都是 JavaScript 寫的,所以 JSON 資料直接丟到 eval() 就可以處理了,不像 XML 還要嗎序列化後插入 DOM,要嗎甚至得丟到 parser 解析器裡面去處理到氣死人。 不過,用 JSON,直接丟到 eval(),有安全性的問題。所以所謂 native JSON 一樣是去解析 JSON、重建資料,而不是無腦的丟到 JS 的 eval() 去,把 JSON 內可能藏有的危險程式碼一併執行。 感謝大大熱心解說 ![]() IE8 好像也要加入 |
發表人: | GlinX [ 2009-03-11, 10:22 ] |
文章主題 : | |
kourge 寫: 不過,用 JSON,直接丟到 eval(),有安全性的問題。所以所謂 native JSON 一樣是去解析 JSON、重建資料,而不是無腦的丟到 JS 的 eval() 去,把 JSON 內可能藏有的危險程式碼一併執行。
據原作者說 好像在解析速度上也有很大的差異 不過如果不是很大的應用,我想 JSON 不會多到看出那些差異... |
發表人: | alex301 [ 2009-05-14, 14:39 ] |
文章主題 : | |
Keep your JSON valid: http://simonwillison.net/2006/Oct/11/json/ 引言回覆: Valid:
{ "name": "Simon" } Invalid: { name: "Simon" } { 'name': "Simon" } { "name": 'Simon' } 改用 Firefox 的 JSON 時, 可能會遇到 明明以前 eval() 可以, 但 JSON.parse() 卻不行, 那答案可能是在這... |
發表人: | kourge [ 2009-05-15, 10:41 ] |
文章主題 : | |
基本上,JSON 不只是 JavaScript 文法的延伸而已,而是 JS 文法的嚴格子集 / 真子集,所以所有字串(包括物件名稱)都必須以雙引號包圍。 |
發表人: | Dark Shenada [ 2009-05-15, 16:15 ] |
文章主題 : | |
kourge 寫: 基本上,JSON 不只是 JavaScript 文法的延伸而已,而是 JS 文法的嚴格子集 / 真子集,所以所有字串(包括物件名稱)都必須以雙引號包圍。
"嚴格子集" & "真子集" 的原文是什麼 ? 用中文寫反而更看不懂了 ..... ORZ |
發表人: | shyangs [ 2009-05-15, 21:14 ] |
文章主題 : | |
Dark Shenada 寫: kourge 寫: 基本上,JSON 不只是 JavaScript 文法的延伸而已,而是 JS 文法的嚴格子集 / 真子集,所以所有字串(包括物件名稱)都必須以雙引號包圍。 "嚴格子集" & "真子集" 的原文是什麼 ? 用中文寫反而更看不懂了 ..... ORZ 應該是數學集合論的名詞。 proper subset,真子集。strict subset,嚴格子集。 If A is a subset of B, but A is not equal to B (i.e. there exists at least one element of B not contained in A), then A is also a proper (or strict) subset of B. 如果,A 是 B集合 的子集,但 A 不等於 B (即,B集合中至少存在一個不屬於A的元素),那麼A被稱為B的真子集/嚴格子集。 JSON is a subset of the object literal notation of JavaScript.
... Since JSON is a proper subset of JavaScript, the compiler will correctly parse the text and produce an object structure. |
發表人: | Dark Shenada [ 2009-05-15, 21:57 ] |
文章主題 : | |
strict subset 我就知道了, 所以說我超討厭中文的過度翻譯阿 .......... |
發表人: | shyangs [ 2009-05-16, 00:34 ] |
文章主題 : | |
Dark Shenada 寫: strict subset 我就知道了, 所以說我超討厭中文的過度翻譯阿 ..........
我覺得這不算過度翻譯,是用一貫的邏輯直譯。 proper fraction ,真分數/真分式。(第一次見到真分數這個名詞,是在小學課本。) 要是當初徐光啟翻譯幾何原本,專有名詞能不譯就不譯,而主流想法也是這樣,那我們的國中課本大概會變成: 代碼: 如果兩 Parallel Line 被一線所截,那麼Corresponding Angles相等。 這種情境,可能會有人跳出來說,這什麼鳥中譯本,還是原文書比較好懂。然後,我們就可以從國中開始讀原文書啦。 代碼: If the two lines being crossed are Parallel Lines, then the Corresponding Angles are equal.
|
發表人: | Dark Shenada [ 2009-05-16, 04:25 ] |
文章主題 : | |
shyangs 寫: Dark Shenada 寫: strict subset 我就知道了, 所以說我超討厭中文的過度翻譯阿 .......... 我覺得這不算過度翻譯,是用一貫的邏輯直譯。 proper fraction ,真分數/真分式。(第一次見到真分數這個名詞,是在小學課本。) 要是當初徐光啟翻譯幾何原本,專有名詞能不譯就不譯,而主流想法也是這樣,那我們的國中課本大概會變成: 代碼: 如果兩 Parallel Line 被一線所截,那麼Corresponding Angles相等。 這種情境,可能會有人跳出來說,這什麼鳥中譯本,還是原文書比較好懂。然後,我們就可以從國中開始讀原文書啦。 代碼: If the two lines being crossed are Parallel Lines, then the Corresponding Angles are equal. 原文書有什麼不好, 要是Euclid's Elements不是Euclid寫的而是徐光啟寫的那就輪到老外來讀中文了, 而且原文書總比猜不出語意或是語意不正確的中文翻譯好吧, 尤其是很多的專有名詞或是人名, 以 "真子集" 為例, 很明顯是不好的翻譯, 因為以中文的邏輯來說, "真" 總是有相對的 "假", 但是 subset並沒有 "假" 的, 所以"proper subset"翻譯為"真子集"很明顯的是不合適的, 而中文本來在單詞上就不是一個嚴謹的語言(也不是說英文或是德文和法文就精確, 只是相對於中文, 真要說最精確的應該是拉丁文, 只是拉丁文現在沒多少人用), 所以在沒有語意完全相符的字詞的時候, 唯一恰當的選擇就是用更長的詞句來翻譯或是不翻譯, 隨便用語意接近但不相等的字詞或是濫用縮寫來取代只會讓讀譯本的人更疑惑, 以"Parallel Line"而言, 翻譯成"平行的直線"就沒什麼問題(當然平行必須先定義為在2為平面上無限遠都不會相交的直線, 不然誰知道"平行"是什麼), 但是"Corresponding Angles"翻譯成什麼鬼"對應角"/"同位角"問題就大了, 因為語意完全不對, 因為原始的語意就只是指"多個(這個句子指的是兩個)相臨(Having the same or nearly the same relationship)的角度", 很明顯的 "對應" not eq "相臨" 而且 "同位" 的 "位" 又同在哪裡 !? 所以當因為客觀因素(因為年齡而無法閱讀原文或是沒有足夠的詞彙來閱讀)而不得不翻譯時, 就應該犧牲簡潔的語法和修辭, 而用壟長但式語意正確的詞句來替代, 而人名或專有名詞為了閱讀方編而翻譯時也應該以原文為主(例如 Gauss[高斯], normal distribution[常態分佈] ... ), 中文音譯或意譯括號或註解在後, 至於專業書籍則因該完全以原文為主, 翻譯應該只解釋原文, 而不是創造一堆新的又是的錯誤中文字詞 ! |
發表人: | wini [ 2009-05-16, 06:23 ] |
文章主題 : | |
Dark Shenada 寫: 所以當因為客觀因素(因為年齡而無法閱讀原文或是沒有足夠的詞彙來閱讀)而不得不翻譯時, 就應該犧牲簡潔的語法和修辭, 而用壟長但式語意正確的詞句來替代, 而人名或專有名詞為了閱讀方編而翻譯時也應該以原文為主(例如 Gauss[高斯], normal distribution[常態分佈] ... ), 中文音譯或意譯括號或註解在後, 至於專業書籍則因該完全以原文為主, 翻譯應該只解釋原文, 而不是創造一堆新的又是的錯誤中文字詞 !
日本是在地化翻譯的風氣十分強盛的國家,不過卻也時常使用音譯,譯出一些讓人看了一下子怎麼也看不懂的東西,但我想也不會因為這樣就完全看不懂整本翻譯書。 在討論該用原文還譯文前,也許該考慮的是中文書的易讀性。 中文是方塊字,與印歐文字放一起排版的話,總是會有對不齊的問題,而且碰上直書又不利非亞洲文字閱讀,所以能譯成中文的,盡量別保留原文比較好。 再來說到附註原文,這個到底該附註在哪也是件麻煩事。日文書有所謂的「振假名」注音方式,在字的旁邊,不論那字是什麼,都能附上注音或發音,不過非幼教類的中文書,似乎並沒有使用注音的習慣,而且注音那一塊也不一定適合放原文。而中文書中,比較普遍的作法,是放個括號註明原文,只是這個注解,如果不只是寫原文就好的,可能有些人會寫很長很長(真的很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長很長),注解數量一多起來的話,十分干擾閱讀順暢。 再來,也是我的推測,會看原文書的,跟只看得懂翻譯書的,應該是兩個不重疊的族群,所以根本沒啥必要爭吵,因為很多專有名詞都只是個概念,沒有非得讀原文才知道那是什麼的事,但沒有解釋的話,原文也不一定好懂。而原文譯文方面,如果能像日本一樣,有公信力的機構出來制訂哪個外文該對應到哪個本地文的話,那就不容易有看原文的跟看譯文的兩邊對不上嘴的問題。 不過不否認的,專業書如法律,那些翻譯真的是又生又硬,擺明是要玩人的,真該全用外國的原文法律,不要讓人翻譯了,不然讓人玩起翻譯文的文字遊戲,真的是會變成法律只保護有錢人跟知道的人。(啥) (其實我覺得一個人對母語書籍的不信任,是因為該人所在的國家,沒給予這母語「絕對的力量」,所以造成字詞的解釋分歧,無法建立共同認知。不過扯到翻譯,又會有怎麼譯都有人嫌不好、嫌太長、嫌不達意不正確的問題,我想大概是因為中文不求長進,跟不上外國的新文化,所以完全沒法譯出外文的真正意思吧……但是能對翻譯要求百分之百正確的讀者,搞不好會比看得比作者還仔細的譯者,還適合當翻譯吧。總之文字翻譯這門學問要走的路還挺長的樣子,先想辦法建立自己能掌握的詞庫要緊。) |
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |