Analytics and Automation Software : Cisco Data Virtualization

JSON CIS转换对XML,当JSON答复结构在一个顶部元素没有包裹

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈

简介

本文描述要求的步骤转换代表状态转移(其余)数据来源[in the Cisco Information Server (CIS)]接收的Javascript对象符号(JSON)答复到XML,如果CIS接收的JSON答复在一个顶部元素没有包裹。

贡献用Sadia阿里, Cisco TAC工程师。

问题

有时JSON答复不包裹作为单文件。例如, JSON答复能是:

{"status":"OK",
"data":{"trends":{"55-64":[
                         {"date":"201312","value":"13.15"}
                                       ]
                          },
             "query_cost":6,
             "trends_frequency":"monthly"
          }
}

如果那是答复,默认情况下则对JSON转换的XML只给XML作为:

<?xml version="1.0" encoding="UTF-8"?><test>
<status>OK</status>

仅第一个片断在工作室内返回。然而,在RestClient,完整答复返回,并且cs_server.log也显示全双工答复。

希望的XML输出是:

<?xml version="1.0" encoding="UTF-8"?>
<Wrapper>
<status>OK</status>
<data>
<trends>
<_55-64>
<date>201312</date>
<value>13.15</value>
</_55-64>
</trends>
<query_cost>6</query_cost>
<trends_frequency>monthly</trends_frequency>
</data>
</Wrapper>

解决方案

其余数据源从在JSON或XML格式的一个网站服务获取数据。如果数据可以解压缩到表格格式,您必须使用XSL变压器为了执行此。这是基本指令:

  1. 至少6.2.3.00.22补丁程序的升级工作室。此提供您新建的功能为了由示例设计,使更加容易获取可扩展样式表语言转换(XSLT)步骤的模式能使用为了映射JSON输出了到表格输出。

  2. 在工作室,请配置其XML文本大小对大价值类似50,000。这是重要,因为以后,当您由示例时单击设计,中断,如果返回的XML超过此大小限制。如果是在您不能增加此设置在工作室的情况,请考虑使用不同的输入标准为了减少返回的XML的大小。

  3. 您能实行此步骤,当您创建数据源时,或者在数据源以后创建。当您创建其余数据源时,请检查JSON格式复选框。

  4. 如果您的JSON结构在一个顶部元素没有包裹, CIS能添加封皮,以便从JSON答复创建的XML适当地被格式化到法律XML。如果不知道答复是否包裹,您能添加封皮和评估您是否需要以后的此。这设置JSON仅有的答复字段封皮,设置的根节点JSON > XML输出。



  5. 选择在操作部分添加的其中一操作:



  6. 由在报头/正文参数部分的示例单击设计。如果添加了此操作,您也许必须关闭其余数据源面板和重新打开它为了做此按钮激活。



  7. 选择您的JSON答复的顶层元素并且点击OK键。



  8. 给予参数名称并且点击“Save”



    这创建在您的数据源资源出现设置的XML模式定义。



  9. 这也变换JSON输出到XML,以便XSL变压器能处理它。打开操作并且检查输出结构。它显示您结构您在XSLT步骤使用。



  10. 执行操作。JSON输出转换到XML里。



Document ID: 118611