Analytics and Automation Software : Cisco Data Virtualization

Conversion CIS de JSON en XML quand la structure de réponse JSON n'est pas enveloppée dans un élément supérieur

18 octobre 2016 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires

Introduction

Ce document décrit l'étape nécessaire pour convertir une réponse de la notation d'objet de Javascript (JSON) reçue par le point d'émission de données figurative de transfert d'état (REPOS) [dans le serveur d'informations de Cisco (CIS)] dans le XML si la réponse JSON reçue par CIS n'est pas enveloppée dans un élément supérieur.

Contribué par Sadia Ali, ingénieur TAC Cisco.

Problème

Parfois la réponse JSON ne s'enveloppe pas comme document unique. Par exemple, la réponse JSON a pu être :

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

Si c'est la réponse, alors le XML à la conversion JSON par défaut donne seulement le XML comme :

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

Seulement le premier extrait est retourné dans le studio. Cependant, dans le RestClient, la réponse complète est renvoyée et cs_server.log affiche également la pleine réponse.

La sortie désirée XML est :

<?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>

Solution

Les points d'émission de données de REPOS récupèrent des données d'un service Web dans JSON ou format XML. Si les données peuvent être extraites dans le format tabulaire, vous devez utiliser un transformateur XSL afin de faire ceci. Voici les instructions de base :

  1. Studio de mise à jour au moins au correctif 6.2.3.00.22. Ceci te fournit la nouvelle fonctionnalité afin de concevoir par l'exemple, qui le facilite pour obtenir le schéma pour que la procédure extensible des transformations de langage de feuille de style (XSLT) l'utilise afin de tracer le JSON sorti à la sortie tabulaire.

  2. Dans le studio, configurez sa taille du texte XML à une grande valeur comme 50,000. C'est important parce que plus tard, quand vous cliquez sur la conception par exemple, il se casse si le XML retourné dépasse cette limite de taille. Si vous êtes dans une situation où vous ne pouvez pas augmenter cette configuration dans le studio, considérez l'utilisation de différents critères d'entrée afin de réduire la taille du XML retourné.

  3. Vous pouvez faire cette étape quand vous créez le point d'émission de données, ou après le point d'émission de données est créé. Quand vous créez le point d'émission de données de REPOS, cochez la case de format JSON.

  4. Si votre structure JSON n'est pas enveloppée dans un élément supérieur, CIS peut ajouter un wrapper de sorte que le XML créé de la réponse JSON soit correctement formaté dans le XML juridique. Si vous ne savez pas si la réponse est enveloppée, vous pouvez ajouter le wrapper et l'évaluer si vous avez besoin de ceci plus tard. Ceci est placé avec le wrapper du champ nu de réponse JSON, qui place le noeud racine pour sortie JSON > XML.



  5. Sélectionnez une des exécutions ajoutées dans la section d'exécutions :



  6. Cliquez sur la conception par exemple dans l'en-tête/la section paramètres de corps. Si vous ajoutiez juste cette exécution, vous pourriez devoir fermer le panneau de point d'émission de données de REPOS et le rouvrir afin de faire cet active de bouton.



  7. Choisissez l'élément supérieur de votre réponse JSON et cliquez sur OK.



  8. Donnez au paramètre un nom et cliquez sur la sauvegarde.



    Ceci crée une définition de schéma XML réglée qui apparaît dans vos ressources en point d'émission de données.



  9. Ceci transforme également le JSON sorti au XML de sorte que le transformateur XSL puisse le traiter. Ouvrez l'exécution et examinez la structure de sortie. Il t'affiche la structure que vous utilisez dans la procédure XSLT.



  10. Exécutez l'exécution. La sortie JSON transforme en XML.



Document ID: 118611