51学通信论坛2017新版

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2032|回复: 0
打印 上一主题 下一主题

JSON与XML的映射例子

[复制链接]

 成长值: 15613

  • TA的每日心情
    开心
    2022-7-17 17:50
  • 2444

    主题

    2544

    帖子

    7万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    74104
    跳转到指定楼层
    楼主
    发表于 2019-3-2 21:56:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    举例一:
    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学通信微信公众号,获取更多精彩通信课程分享。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|51学通信技术论坛

    GMT+8, 2025-1-31 14:57 , Processed in 0.071578 second(s), 32 queries .

    Powered by Discuz! X3

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表