2013-04-22 2 views
1

Как сказал Хорст Келлер в своем сообщении ABAP and JSON «с выпусками 7.02 и 7.03/7.31 (Kernelpatch 116) JSON поддерживается изначально в ABAP».Как кодировать JSON в ABAP

Appartently 7,02 в моем случае слишком общий характер, так как линия ниже:

writer = cl_sxml_string_writer=>create(type = if_sxml=>co_xt_json).

возвращает ошибку: "The field CO_XT_JSON is unknown, but there is a field with the similar name CO_XT_XOP".

Так есть ли способ легко генерировать JSON?

Edit: Скриншот из SAP - Статус

enter image description here

enter image description here

+0

Ну, на каком уровне патча вы находитесь? – vwegert

+0

Не уверен, какой компонент должен быть в 7.02. –

+0

Система проверки -> Статус для всех уровней патчей. – vwegert

ответ

0

При обновлении до новой патч не вариант в краткосрочной перспективе, вы можете также использовать класс CL_TREX_JSON_SERIALIZER сериализация объекты для JSON. Немного быстрого и грязного решения, но оно работает хорошо.

+0

Спасибо, я посмотрю. –

3

О классе CL_TREX_JSON_SERIALIZER: Я также использовал этот класс во время developping мобильного приложения сока, и я нашел созданный JSON не является действительным, таким образом, я начал прибегая к помощи и нашел этот http://scn.sap.com/community/mobile/blog/2012/09/24/serialize-abap-data-into-json-format (что также объясняет, как создать действительный JSON-сериализатор). Подтвердите свой json с помощью json lint http://jsonlint.com/, чтобы узнать, действительно ли это. В противном случае, вы уверены, что у вас много проблем при отладке, почему он работает и не понимает, что сериализатор поврежден. С уважением, zY

1

Вот код, который я написал для ABAP-данных < -> Преобразование JSON некоторое время назад, прежде чем новые возможности были включены в ABAP (или, может быть, это была более старая система).

https://gist.github.com/mydoghasworms/2291540

Включите код источника ABAP и использовать метод data_to_json класса.

1

посмотреть библиотеку ZCL_MDP_JSON. Вы можете анализировать/кодировать любой JSON. Таким образом, он лучше всего подходит для сценариев JSON, требующих гибкости.

Легко понять, если вы использовали JSON на других языках. Вам нужно только изучить методы класса ZCL_MDP_JSON_NODE один раз & посмотреть примеры.

Вот расширенный обзор библиотеки: http://scn.sap.com/community/abap/blog/2016/07/03/an-open-source-abap-json-library--zclmdpjson

GitHub репо каталоге примеров: https://github.com/fatihpense/zcl_mdp_json

Отказ от ответственности: Я автор проекта. Если у вас есть вопросы, не стесняйтесь обращаться ко мне.

1

Хороший обзор пользовательских ABAP < -> JSON сериализаторов включая еще один один можно найти в this blog post

Самые популярные с моей точки зрения SE38's ZJSON-library, который может быть установлен с помощью SAPLINK (и которые - в отличие от многие другие) имеет явную лицензию, прилагаемую к нему: Apache 2.0

Смежные вопросы