Analytics and Automation Software : Cisco Data Virtualization

Преобразование CIS JSON к XML, Когда Структура Ответа JSON не Обернута в Вершину

5 апреля 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Отзыв

Введение

 Если ответ JSON, полученный CIS, не обернут в вершину, этот документ описывает шаги, требуемые преобразовать Объектную нотацию JavaScript (JSON) ответ, полученный Представительной государственной Передачей (REST) источник данных [в Сервере информации о Cisco (CIS)] в XML.

Внесенный Сэдией Али, специалистом службы технической поддержки Cisco.

Проблема

Иногда ответ JSON не переносится как один документ. Например, ответ JSON мог быть:

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

Если это - ответ, то XML к преобразованию JSON по умолчанию только дает XML как:

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

Только первый фрагмент возвращен в Studio. Однако в 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>

Решение

Источники данных REST получают данные от веб-сервиса или в JSON или в формате XML. Если данные могут быть извлечены в табличный формат, необходимо использовать преобразователь XSL, чтобы сделать это. Вот основные инструкции:

  1. Studio обновления к, по крайней мере, этим 6.2.3.00.22 исправлениям. Это предоставляет вас новая функциональность, чтобы к дизайну на примере, который упрощает получать схему для процедуры Extensible Stylesheet Language Transformations (XSLT) для использования для сопоставления выходных данных JSON с табличными выходными данными.

  2. В Studio настройте его размер текста XML к большому значению как 50,000. Это важно, потому что позже при нажатии Design на примере он ломается, если возвращенный XML превышает это ограничение размера. Если вы находитесь в ситуации, где вы не можете увеличить эту установку в Studio, рассмотреть использование других входных критериев для сокращения размера возвращенного XML.

  3. Можно выполнить этот шаг при создании источника данных, или после того, как создан источник данных. При создании остальных источник данных проверьте флажок JSON Format.

  4. Если структура JSON не обернута в вершину, CIS может добавить обертку так, чтобы XML, созданный от ответа JSON, был должным образом отформатирован в юридический XML. Если вы не знаете, обернут ли ответ, можно добавить обертку и оценить, требуете ли вы этого позже. Это установлено с Оберткой Пустого поля Response JSON, которое устанавливает корневой узел для выходных данных JSON> XML.



  5. Выберите одну из Операций, добавленных в разделе Операций:



  6. Нажмите Design на примере в разделе Параметров Заголовка/Тела. Если вы просто добавили эту операцию, вам, возможно, придется закрыть остальных панель источника данных и вновь открыть ее для создания этой кнопки активной.



  7. Выберите элемент верхнего уровня ответа JSON и нажмите OK.



  8. Дайте Параметру название и нажмите Save.



    Это создает Набор определения схемы XML, который появляется в ресурсах источника данных.



  9. Это также преобразовывает выходные данные JSON к XML так, чтобы преобразователь XSL мог обработать его. Откройте операцию и исследуйте выходную структуру. Это показывает вам структуру, что вы используете в процедуре XSLT.



  10. Выполните операцию. Выходные данные JSON преобразовывают в XML.


Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.