成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

闡述JSON轉(zhuǎn)化的結(jié)構(gòu)事實(shí)說明介紹

開發(fā)
JSON是Javascript,F(xiàn)lash Action Script等符合ECMA Script規(guī)范的腳本語言的輕量級數(shù)據(jù)表示,但是由于XML強(qiáng)大的自描述性,因此在實(shí)踐應(yīng)用過程中

這些都是常見的數(shù)據(jù)結(jié)構(gòu)事實(shí)上大部分現(xiàn)代計(jì)算機(jī)語言都以某種形式支持它們這使得一種數(shù)據(jù)格式在同樣基于這些結(jié)構(gòu)的編程語言之間交換成為可能,當(dāng)JSON轉(zhuǎn)化為XML時,還有一些細(xì)節(jié)需要注意,這些細(xì)節(jié),很多開源的XML轉(zhuǎn)JSON代碼里面都沒有應(yīng)用到,我推薦的XML 轉(zhuǎn)換JSON格式的時候額外遵循的規(guī)則:

  1. <root> 
  2.   <node1>node1_value</node1> 
  3.   <node2>node2_value</node2> 
  4. <root> 
  5. 轉(zhuǎn)化后:  
  6. var jsonObj = {  
  7. root : {  
  8.   'node1' : {  
  9.     '$' : 'node1_value'  
  10.   },  //當(dāng)然,這里也可以為 $ : 'node1_value',但是推薦Dic名字加入引號的方式  
  11.   'node2' : {  
  12.     '$' : 'node2_value'  
  13.   }  
  14. }  
  15. }   
  16.  
  17. 2 XML Attribute,應(yīng)該作為"$"字符開頭的,“子集合,值”的方式轉(zhuǎn)化,例如:  
  18. <root root_att1="root_att1_value" root_att2="root_att2_value"> 
  19.   <node1 node1_att1="node1_att1_value" node1_att2="node1_att2_value">node1_value</node1> 
  20.   <node2 node2_att1="node2_att1_value" node2_att2="node2_att2_value">node2_value</node2> 
  21. </root> 
  22. 轉(zhuǎn)化后:  
  23. var jsonObj = {  
  24. root : {  
  25.   '$root_att1' : 'root_att1_value',  
  26.   '$root_att2' : 'root_att2_value',  
  27.   'node1' : {  
  28.     '$' : 'node1_value',  
  29.     '$node1_att1' : 'node1_att1_value',  
  30.     '$node1_att2' : 'node1_att2_value'  
  31.   },  
  32.   'node2' : {  
  33.     '$' : 'node2_value',  
  34.     '$node2_att1' : 'node2_att1_value',  
  35.     '$node2_att2' : 'node2_att2_value'  
  36.   }  
  37. }  

大家可以看到,轉(zhuǎn)換過程中頻繁使用到字符"$",這一點(diǎn)很關(guān)鍵,因?yàn)槿绻鸄ttribute也采用和Child Element相同的方式轉(zhuǎn)化,那么將產(chǎn)生子元素的歧義,后果是,一旦發(fā)生XML -> JSON轉(zhuǎn)化,將不可能準(zhǔn)確的進(jìn)行此操作的逆過程,即生成的JSON無法轉(zhuǎn)化為之前的XML。

此這里使用XML Element和XML Attribute中都不可能出現(xiàn),而JSON轉(zhuǎn)化中允許的"$"字符,標(biāo)識XML Attribute(熟悉JS著名類庫Prototype的朋友,對這個字符應(yīng)該很熟悉 :)),讓XML和JSON互相轉(zhuǎn)化的過程完全可逆。#t#

當(dāng)然,本文沒有提到XML Namespace和XML其它特殊元素,如<!DOCTYPE>,<!ENTITY>標(biāo)簽。原因是,我認(rèn)為希望轉(zhuǎn)換為JSON的XML應(yīng)該事先由XMLDOM做處理,簡化并規(guī)避轉(zhuǎn)化過程中可能出現(xiàn)的很多特殊的因素,以便讓XML -> JSON轉(zhuǎn)化過程專注于數(shù)據(jù)格式本身,而更加通俗順暢;因此,這些因素可以認(rèn)為不在本文討論的格式轉(zhuǎn)化范圍內(nèi)。

責(zé)任編輯:chenqingxiang 來源: 賽迪
相關(guān)推薦

2010-01-07 17:48:02

JSON結(jié)構(gòu)

2010-01-08 09:03:38

返回JSON數(shù)據(jù)

2010-01-05 17:35:09

JSON數(shù)組格式

2009-12-18 16:28:35

ADO.NET結(jié)構(gòu)

2010-02-03 17:37:30

Python語法

2010-01-07 17:58:49

JSON數(shù)值

2010-01-06 10:27:32

JSON數(shù)組

2010-01-06 17:06:05

Json格式

2010-01-08 11:11:38

JSON 序列化

2010-01-12 09:39:58

C++語言

2013-11-25 11:04:45

2010-01-08 13:33:06

JSON來歷

2021-07-14 06:40:03

Spring Boot端點(diǎn)性能

2010-02-04 13:52:30

Android ap

2010-01-07 09:31:27

Json數(shù)據(jù)異常

2010-01-06 15:18:51

Json插件

2010-01-06 15:30:51

JSON和XML

2010-01-06 10:10:04

JSON建構(gòu)

2010-01-05 17:52:34

JSON形式

2010-01-07 17:02:27

JSON序列化
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 精品久久久久久久久亚洲 | 欧美a级网站 | 国产午夜精品一区二区三区四区 | 国产黄色av电影 | 天天操网 | 亚洲综合视频 | 一区在线免费视频 | 日本在线视频一区二区 | 一区二区手机在线 | 国产美女一区二区 | 欧美亚洲另类丝袜综合网动图 | 国产精品毛片 | 春色av| 欧美激情视频一区二区三区免费 | 人人鲁人人莫人人爱精品 | 国产精品视频一区二区三区四区国 | 国产高清在线精品 | 国产精品免费一区二区三区四区 | 一区二区三区四区在线 | 日韩一级电影免费观看 | 天堂av中文 | 久久这里有精品 | 国产精品一区二区在线观看 | 一区二区三区日本 | 日本视频免费 | 九色视频网站 | 亚洲精品欧美精品 | av永久| 五月婷婷色 | 久久一热 | 天天操夜夜看 | 亚洲精品视频在线观看免费 | 日韩欧美天堂 | 在线观看深夜视频 | 亚洲av毛片 | 久久久久久久久久久一区二区 | 综合久久av | 精品欧美| 亚洲久在线 | 日韩在线视频一区 | 亚洲久久一区 |