51学通信论坛2017新版

标题: JSON与XML的映射例子 [打印本页]

作者: admin    时间: 2019-3-2 21:56
标题: JSON与XML的映射例子
举例一:
JSON的表示如下:
  1. {
  2.     "glossary": {
  3.         "title": "example glossary",
  4.                 "GlossDiv": {
  5.             "title": "S",
  6.                         "GlossList": {
  7.                 "GlossEntry": {
  8.                     "ID": "SGML",
  9.                                         "SortAs": "SGML",
  10.                                         "GlossTerm": "Standard Generalized Markup Language",
  11.                                         "Acronym": "SGML",
  12.                                         "Abbrev": "ISO 8879:1986",
  13.                                         "GlossDef": {
  14.                         "para": "A meta-markup language, used to create markup languages such as DocBook.",
  15.                                                 "GlossSeeAlso": ["GML", "XML"]
  16.                     },
  17.                                         "GlossSee": "markup"
  18.                 }
  19.             }
  20.         }
  21.     }
  22. }
复制代码
XML表示如下:
  1. <!DOCTYPE glossary PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
  2. <glossary><title>example glossary</title>
  3.   <GlossDiv><title>S</title>
  4.    <GlossList>
  5.     <GlossEntry ID="SGML" SortAs="SGML">
  6.      <GlossTerm>Standard Generalized Markup Language</GlossTerm>
  7.      <Acronym>SGML</Acronym>
  8.      <Abbrev>ISO 8879:1986</Abbrev>
  9.      <GlossDef>
  10.       <para>A meta-markup language, used to create markup
  11. languages such as DocBook.</para>
  12.       <GlossSeeAlso OtherTerm="GML">
  13.       <GlossSeeAlso OtherTerm="XML">
  14.      </GlossDef>
  15.      <GlossSee OtherTerm="markup">
  16.     </GlossEntry>
  17.    </GlossList>
  18.   </GlossDiv>
  19. </glossary>
复制代码

举例二:
JSON表示
  1. {"menu": {
  2.   "id": "file",
  3.   "value": "File",
  4.   "popup": {
  5.     "menuitem": [
  6.       {"value": "New", "onclick": "CreateNewDoc()"},
  7.       {"value": "Open", "onclick": "OpenDoc()"},
  8.       {"value": "Close", "onclick": "CloseDoc()"}
  9.     ]
  10.   }
  11. }}
复制代码
XML的表示
  1. <menu id="file" value="File">
  2.   <popup>
  3.     <menuitem value="New" onclick="CreateNewDoc()" />
  4.     <menuitem value="Open" onclick="OpenDoc()" />
  5.     <menuitem value="Close" onclick="CloseDoc()" />
  6.   </popup>
  7. </menu>
复制代码

举例三:
JSON表示:
  1. {"widget": {
  2.     "debug": "on",
  3.     "window": {
  4.         "title": "Sample Konfabulator Widget",
  5.         "name": "main_window",
  6.         "width": 500,
  7.         "height": 500
  8.     },
  9.     "image": {
  10.         "src": "Images/Sun.png",
  11.         "name": "sun1",
  12.         "hOffset": 250,
  13.         "vOffset": 250,
  14.         "alignment": "center"
  15.     },
  16.     "text": {
  17.         "data": "Click Here",
  18.         "size": 36,
  19.         "style": "bold",
  20.         "name": "text1",
  21.         "hOffset": 250,
  22.         "vOffset": 100,
  23.         "alignment": "center",
  24.         "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
  25.     }
  26. }}
复制代码
XML表示:
  1. <widget>
  2.     <debug>on</debug>
  3.     <window title="Sample Konfabulator Widget">
  4.         <name>main_window</name>
  5.         <width>500</width>
  6.         <height>500</height>
  7.     </window>
  8.     <image src="Images/Sun.png" name="sun1">
  9.         <hOffset>250</hOffset>
  10.         <vOffset>250</vOffset>
  11.         <alignment>center</alignment>
  12.     </image>
  13.     <text data="Click Here" size="36" style="bold">
  14.         <name>text1</name>
  15.         <hOffset>250</hOffset>
  16.         <vOffset>100</vOffset>
  17.         <alignment>center</alignment>
  18.         <onMouseUp>
  19.             sun1.opacity = (sun1.opacity / 100) * 90;
  20.         </onMouseUp>
  21.     </text>
  22. </widget>
复制代码

举例四:
JSON表示:
  1. {"web-app": {
  2.   "servlet": [   
  3.     {
  4.       "servlet-name": "cofaxCDS",
  5.       "servlet-class": "org.cofax.cds.CDSServlet",
  6.       "init-param": {
  7.         "configGlossary:installationAt": "Philadelphia, PA",
  8.         "configGlossary:adminEmail": "ksm@pobox.com",
  9.         "configGlossary:poweredBy": "Cofax",
  10.         "configGlossary:poweredByIcon": "/images/cofax.gif",
  11.         "configGlossary:staticPath": "/content/static",
  12.         "templateProcessorClass": "org.cofax.WysiwygTemplate",
  13.         "templateLoaderClass": "org.cofax.FilesTemplateLoader",
  14.         "templatePath": "templates",
  15.         "templateOverridePath": "",
  16.         "defaultListTemplate": "listTemplate.htm",
  17.         "defaultFileTemplate": "articleTemplate.htm",
  18.         "useJSP": false,
  19.         "jspListTemplate": "listTemplate.jsp",
  20.         "jspFileTemplate": "articleTemplate.jsp",
  21.         "cachePackageTagsTrack": 200,
  22.         "cachePackageTagsStore": 200,
  23.         "cachePackageTagsRefresh": 60,
  24.         "cacheTemplatesTrack": 100,
  25.         "cacheTemplatesStore": 50,
  26.         "cacheTemplatesRefresh": 15,
  27.         "cachePagesTrack": 200,
  28.         "cachePagesStore": 100,
  29.         "cachePagesRefresh": 10,
  30.         "cachePagesDirtyRead": 10,
  31.         "searchEngineListTemplate": "forSearchEnginesList.htm",
  32.         "searchEngineFileTemplate": "forSearchEngines.htm",
  33.         "searchEngineRobotsDb": "WEB-INF/robots.db",
  34.         "useDataStore": true,
  35.         "dataStoreClass": "org.cofax.SqlDataStore",
  36.         "redirectionClass": "org.cofax.SqlRedirection",
  37.         "dataStoreName": "cofax",
  38.         "dataStoreDriver": "com.microsoft.jdbc.sqlserver.SQLServerDriver",
  39.         "dataStoreUrl": "jdbc:microsoft:sqlserver://LOCALHOST:1433;DatabaseName=goon",
  40.         "dataStoreUser": "sa",
  41.         "dataStorePassword": "dataStoreTestQuery",
  42.         "dataStoreTestQuery": "SET NOCOUNT ON;select test='test';",
  43.         "dataStoreLogFile": "/usr/local/tomcat/logs/datastore.log",
  44.         "dataStoreInitConns": 10,
  45.         "dataStoreMaxConns": 100,
  46.         "dataStoreConnUsageLimit": 100,
  47.         "dataStoreLogLevel": "debug",
  48.         "maxUrlLength": 500}},
  49.     {
  50.       "servlet-name": "cofaxEmail",
  51.       "servlet-class": "org.cofax.cds.EmailServlet",
  52.       "init-param": {
  53.       "mailHost": "mail1",
  54.       "mailHostOverride": "mail2"}},
  55.     {
  56.       "servlet-name": "cofaxAdmin",
  57.       "servlet-class": "org.cofax.cds.AdminServlet"},

  58.     {
  59.       "servlet-name": "fileServlet",
  60.       "servlet-class": "org.cofax.cds.FileServlet"},
  61.     {
  62.       "servlet-name": "cofaxTools",
  63.       "servlet-class": "org.cofax.cms.CofaxToolsServlet",
  64.       "init-param": {
  65.         "templatePath": "toolstemplates/",
  66.         "log": 1,
  67.         "logLocation": "/usr/local/tomcat/logs/CofaxTools.log",
  68.         "logMaxSize": "",
  69.         "dataLog": 1,
  70.         "dataLogLocation": "/usr/local/tomcat/logs/dataLog.log",
  71.         "dataLogMaxSize": "",
  72.         "removePageCache": "/content/admin/remove?cache=pages&id=",
  73.         "removeTemplateCache": "/content/admin/remove?cache=templates&id=",
  74.         "fileTransferFolder": "/usr/local/tomcat/webapps/content/fileTransferFolder",
  75.         "lookInContext": 1,
  76.         "adminGroupID": 4,
  77.         "betaServer": true}}],
  78.   "servlet-mapping": {
  79.     "cofaxCDS": "/",
  80.     "cofaxEmail": "/cofaxutil/aemail/*",
  81.     "cofaxAdmin": "/admin/*",
  82.     "fileServlet": "/static/*",
  83.     "cofaxTools": "/tools/*"},

  84.   "taglib": {
  85.     "taglib-uri": "cofax.tld",
  86.     "taglib-location": "/WEB-INF/tlds/cofax.tld"}}}
复制代码
XML表示:
  1. <?xml version="1.0" encoding="ISO-8859-1"?>

  2. <!DOCTYPE web-app
  3.     PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
  4.     "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
  5. <web-app>
  6.     <servlet>
  7.         <servlet-name>
  8.             cofaxCDS
  9.         </servlet-name>
  10.         <servlet-class>
  11.             org.cofax.cds.CDSServlet
  12.         </servlet-class>

  13.          <init-param>
  14.           <param-name>configGlossary:installationAt</param-name>
  15.       <param-value>Philadelphia, PA</param-value>
  16.         </init-param>
  17.         <init-param>
  18.           <param-name>configGlossary:adminEmail</param-name>
  19.       <param-value>ksm@pobox.com</param-value>
  20.         </init-param>
  21.         <init-param>
  22.           <param-name>configGlossary:poweredBy</param-name>
  23.       <param-value>Cofax</param-value>
  24.         </init-param>
  25.         <init-param>
  26.           <param-name>configGlossary:poweredByIcon</param-name>
  27.       <param-value>/images/cofax.gif</param-value>
  28.         </init-param>
  29.         <init-param>
  30.           <param-name>configGlossary:staticPath</param-name>
  31.       <param-value>/content/static</param-value>
  32.         </init-param>

  33.      <init-param>
  34.           <param-name>templateProcessorClass</param-name>
  35.       <param-value>org.cofax.WysiwygTemplate</param-value>
  36.         </init-param>

  37.     <init-param>
  38.           <param-name>templateLoaderClass</param-name>
  39.       <param-value>org.cofax.FilesTemplateLoader</param-value>
  40.         </init-param>

  41.          <init-param>
  42.           <param-name>templatePath</param-name>
  43.       <param-value>templates</param-value>
  44.         </init-param>

  45.         <init-param>
  46.           <param-name>templateOverridePath</param-name>
  47.       <param-value></param-value>
  48.         </init-param>

  49.      <init-param>
  50.           <param-name>defaultListTemplate</param-name>
  51.       <param-value>listTemplate.htm</param-value>
  52.         </init-param>

  53.        <init-param>
  54.           <param-name>defaultFileTemplate</param-name>
  55.       <param-value>articleTemplate.htm</param-value>
  56.         </init-param>

  57.        <init-param>
  58.           <param-name>useJSP</param-name>
  59.       <param-value>false</param-value>
  60.         </init-param>

  61.     <init-param>
  62.           <param-name>jspListTemplate</param-name>
  63.       <param-value>listTemplate.jsp</param-value>
  64.         </init-param>

  65.        <init-param>
  66.           <param-name>jspFileTemplate</param-name>
  67.       <param-value>articleTemplate.jsp</param-value>
  68.         </init-param>

  69.      <init-param>
  70.           <param-name>cachePackageTagsTrack</param-name>
  71.       <param-value>200</param-value>
  72.         </init-param>

  73.     <init-param>
  74.           <param-name>cachePackageTagsStore</param-name>
  75.       <param-value>200</param-value>
  76.         </init-param>

  77.     <init-param>
  78.           <param-name>cachePackageTagsRefresh</param-name>
  79.       <param-value>60</param-value>
  80.         </init-param>

  81.      <init-param>
  82.           <param-name>cacheTemplatesTrack</param-name>
  83.       <param-value>100</param-value>
  84.         </init-param>

  85.     <init-param>
  86.           <param-name>cacheTemplatesStore</param-name>
  87.       <param-value>50</param-value>
  88.         </init-param>

  89.     <init-param>
  90.           <param-name>cacheTemplatesRefresh</param-name>
  91.       <param-value>15</param-value>
  92.         </init-param>

  93.     <init-param>
  94.           <param-name>cachePagesTrack</param-name>
  95.       <param-value>200</param-value>
  96.         </init-param>

  97.     <init-param>
  98.           <param-name>cachePagesStore</param-name>
  99.       <param-value>100</param-value>
  100.         </init-param>

  101.     <init-param>
  102.           <param-name>cachePagesRefresh</param-name>
  103.       <param-value>10</param-value>
  104.         </init-param>

  105.     <init-param>
  106.           <param-name>cachePagesDirtyRead</param-name>
  107.       <param-value>10</param-value>
  108.         </init-param>

  109.      <init-param>
  110.           <param-name>searchEngineListTemplate</param-name>
  111.       <param-value>forSearchEnginesList.htm</param-value>
  112.         </init-param>

  113.        <init-param>
  114.           <param-name>searchEngineFileTemplate</param-name>
  115.       <param-value>forSearchEngines.htm</param-value>
  116.         </init-param>

  117.        <init-param>
  118.           <param-name>searchEngineRobotsDb</param-name>
  119.       <param-value>WEB-INF/robots.db</param-value>
  120.         </init-param>

  121.     <init-param>
  122.           <param-name>useDataStore</param-name>
  123.       <param-value>true</param-value>
  124.         </init-param>

  125.      <init-param>
  126.           <param-name>dataStoreClass</param-name>
  127.       <param-value>org.cofax.SqlDataStore</param-value>
  128.         </init-param>

  129.         <init-param>
  130.           <param-name>redirectionClass</param-name>
  131.       <param-value>org.cofax.SqlRedirection</param-value>
  132.         </init-param>
  133.         <init-param>
  134.           <param-name>dataStoreName</param-name>
  135.       <param-value>cofax</param-value>
  136.         </init-param>

  137.         <init-param>
  138.           <param-name>dataStoreDriver</param-name>
  139.       <param-value>com.microsoft.jdbc.sqlserver.SQLServerDriver</param-value>
  140.         </init-param>

  141.          <init-param>
  142.           <param-name>dataStoreUrl</param-name>
  143.       <param-value>jdbc:microsoft:sqlserver://LOCALHOST:1433;DatabaseName=goon</param-value>
  144.         </init-param>

  145.         <init-param>
  146.           <param-name>dataStoreUser</param-name>
  147.       <param-value>sa</param-value>
  148.         </init-param>

  149.          <init-param>
  150.           <param-name>dataStorePassword</param-name>
  151.       <param-value></param-value>
  152.         </init-param>

  153.          <init-param>
  154.           <param-name>dataStoreTestQuery</param-name>
  155.       <param-value>SET NOCOUNT ON;select test='test';</param-value>
  156.         </init-param>

  157.          <init-param>
  158.           <param-name>dataStoreLogFile</param-name>
  159.       <param-value>/usr/local/tomcat/logs/datastore.log</param-value>
  160.         </init-param>

  161.          <init-param>
  162.           <param-name>dataStoreInitConns</param-name>
  163.       <param-value>10</param-value>
  164.         </init-param>

  165.          <init-param>
  166.           <param-name>dataStoreMaxConns</param-name>
  167.       <param-value>100</param-value>
  168.         </init-param>

  169.          <init-param>
  170.           <param-name>dataStoreConnUsageLimit</param-name>
  171.       <param-value>100</param-value>
  172.         </init-param>
  173. <init-param>
  174.           <param-name>dataStoreLogLevel</param-name>
  175.       <param-value>debug</param-value>
  176.         </init-param>

  177.      <init-param>
  178.           <param-name>maxUrlLength</param-name>
  179.       <param-value>500</param-value>
  180.         </init-param>

  181.     </servlet>

  182.      <servlet>
  183.         <servlet-name>
  184.             cofaxEmail
  185.         </servlet-name>
  186.         <servlet-class>
  187.             org.cofax.cds.EmailServlet
  188.         </servlet-class>

  189.          <init-param>
  190.           <param-name>mailHost</param-name>
  191.       <param-value>mail1</param-value>
  192.         </init-param>

  193.         <init-param>
  194.           <param-name>mailHostOverride</param-name>
  195.       <param-value>mail2</param-value>
  196.         </init-param>
  197.     </servlet>

  198.     <servlet>
  199.         <servlet-name>
  200.             cofaxAdmin
  201.         </servlet-name>
  202.         <servlet-class>
  203.             org.cofax.cds.AdminServlet
  204.         </servlet-class>
  205.     </servlet>

  206.     <servlet>
  207.          <servlet-name>
  208.              fileServlet
  209.          </servlet-name>
  210.          <servlet-class>
  211.              org.cofax.cds.FileServlet
  212.          </servlet-class>
  213.     </servlet>

  214.    <servlet>
  215.         <servlet-name>
  216.             cofaxTools
  217.         </servlet-name>
  218.         <servlet-class>
  219.             org.cofax.cms.CofaxToolsServlet
  220.         </servlet-class>

  221.          <init-param>
  222.           <param-name>templatePath</param-name>
  223.           <param-value>toolstemplates/</param-value>
  224.         </init-param>

  225.          <init-param>
  226.           <param-name>log</param-name>
  227.           <param-value>1</param-value>
  228.         </init-param>

  229.          <init-param>
  230.           <param-name>logLocation</param-name>
  231.           <param-value>/usr/local/tomcat/logs/CofaxTools.log</param-value>
  232.         </init-param>

  233.          <init-param>
  234.           <param-name>logMaxSize</param-name>
  235.           <param-value></param-value>
  236.         </init-param>

  237.          <init-param>
  238.           <param-name>dataLog</param-name>
  239.           <param-value>1</param-value>
  240.         </init-param>

  241.          <init-param>
  242.           <param-name>dataLogLocation</param-name>
  243.           <param-value>/usr/local/tomcat/logs/dataLog.log</param-value>
  244.         </init-param>

  245.          <init-param>
  246.           <param-name>dataLogMaxSize</param-name>
  247.           <param-value></param-value>
  248.         </init-param>

  249.          <init-param>
  250.           <param-name>removePageCache</param-name>
  251.           <param-value>/content/admin/remove?cache=pages&id=</param-value>
  252.         </init-param>

  253.          <init-param>
  254.           <param-name>removeTemplateCache</param-name>
  255.           <param-value>/content/admin/remove?cache=templates&id=</param-value>
  256.         </init-param>

  257.          <init-param>
  258.           <param-name>fileTransferFolder</param-name>
  259.           <param-value>/usr/local/tomcat/webapps/content/fileTransferFolder</param-value>
  260.         </init-param>

  261.          <init-param>
  262.           <param-name>lookInContext</param-name>
  263.           <param-value>1</param-value>
  264.         </init-param>

  265.         <init-param>
  266.           <param-name>adminGroupID</param-name>
  267.           <param-value>4</param-value>
  268.         </init-param>

  269.         <init-param>
  270.           <param-name>betaServer</param-name>
  271.           <param-value>true</param-value>
  272.         </init-param>

  273.     </servlet>

  274.     <servlet-mapping>
  275.     <servlet-name>
  276.     cofaxCDS
  277.     </servlet-name>
  278.     <url-pattern>
  279.     /
  280.     </url-pattern>
  281.     </servlet-mapping>

  282.     <servlet-mapping>
  283.     <servlet-name>
  284.     cofaxEmail
  285.     </servlet-name>
  286.     <url-pattern>
  287.     /cofaxutil/aemail/*
  288.     </url-pattern>
  289.     </servlet-mapping>

  290.     <servlet-mapping>
  291.         <servlet-name>
  292.         cofaxAdmin
  293.         </servlet-name>
  294.         <url-pattern>
  295.         /admin/*
  296.         </url-pattern>
  297.     </servlet-mapping>

  298.     <servlet-mapping>
  299.          <servlet-name>
  300.          fileServlet
  301.          </servlet-name>
  302.          <url-pattern>
  303.          /static/*
  304.          </url-pattern>
  305.      </servlet-mapping>

  306.   <servlet-mapping>
  307.         <servlet-name>
  308.         cofaxTools
  309.         </servlet-name>
  310.         <url-pattern>
  311.         /tools/*
  312.         </url-pattern>
  313.     </servlet-mapping>

  314.    <taglib>
  315.       <taglib-uri>cofax.tld</taglib-uri>
  316.       <taglib-location>/WEB-INF/tlds/cofax.tld</taglib-location>
  317.    </taglib>

  318. </web-app>
复制代码

举例五:
JSON表示:
  1. {"menu": {
  2.     "header": "SVG Viewer",
  3.     "items": [
  4.         {"id": "Open"},
  5.         {"id": "OpenNew", "label": "Open New"},
  6.         null,
  7.         {"id": "ZoomIn", "label": "Zoom In"},
  8.         {"id": "ZoomOut", "label": "Zoom Out"},
  9.         {"id": "OriginalView", "label": "Original View"},
  10.         null,
  11.         {"id": "Quality"},
  12.         {"id": "Pause"},
  13.         {"id": "Mute"},
  14.         null,
  15.         {"id": "Find", "label": "Find..."},
  16.         {"id": "FindAgain", "label": "Find Again"},
  17.         {"id": "Copy"},
  18.         {"id": "CopyAgain", "label": "Copy Again"},
  19.         {"id": "CopySVG", "label": "Copy SVG"},
  20.         {"id": "ViewSVG", "label": "View SVG"},
  21.         {"id": "ViewSource", "label": "View Source"},
  22.         {"id": "SaveAs", "label": "Save As"},
  23.         null,
  24.         {"id": "Help"},
  25.         {"id": "About", "label": "About Adobe CVG Viewer..."}
  26.     ]
  27. }}
复制代码
XML表示:(如果没有相同的“ID”key,则增加action和label KEY。
  1. <menu>
  2.     <header>Adobe SVG Viewer</header>
  3.     <item action="Open" id="Open">Open</item>
  4.     <item action="OpenNew" id="OpenNew">Open New</item>
  5.     <separator/>
  6.     <item action="ZoomIn" id="ZoomIn">Zoom In</item>
  7.     <item action="ZoomOut" id="ZoomOut">Zoom Out</item>
  8.     <item action="OriginalView" id="OriginalView">Original View</item>
  9.     <separator/>
  10.     <item action="Quality" id="Quality">Quality</item>
  11.     <item action="Pause" id="Pause">Pause</item>
  12.     <item action="Mute" id="Mute">Mute</item>
  13.     <separator/>
  14.     <item action="Find" id="Find">Find...</item>
  15.     <item action="FindAgain" id="FindAgain">Find Again</item>
  16.     <item action="Copy" id="Copy">Copy</item>
  17.     <item action="CopyAgain" id="CopyAgain">Copy Again</item>
  18.     <item action="CopySVG" id="CopySVG">Copy SVG</item>
  19.     <item action="ViewSVG" id="ViewSVG">View SVG</item>
  20.     <item action="ViewSource" id="ViewSource">View Source</item>
  21.     <item action="SaveAs" id="SaveAs">Save As</item>
  22.     <separator/>
  23.     <item action="Help" id="Help">Help</item>
  24.     <item action="About" id="About">About Adobe CVG Viewer...</item>
  25. </menu>
复制代码





欢迎光临 51学通信论坛2017新版 (http://bbs.51xuetongxin.com/) Powered by Discuz! X3