Поддержка JSON в консоли Flowgear

Я пытался заполнить мою переменную bar полями json из атрибута curl POSTFIELDS при вызове моего рабочего процесса из API с использованием PHP. Ниже приведен простой json, переданный при вызове конечной точки не как часть URL, а как скрытые данные POST:

{"salesValue":5000,"authorId":2}

Указанные выше свойства должны быть введены в узел Formatter, где я генерирую SQL-оператор, используемый драйвером ODBC для запроса нашей внутренней базы данных. Мне сказали, что я могу сделать это только сейчас, используя узел SCRIPT, так как я не вспоминаю C# как имеющую поддержку для манипулирования объектом JSON из коробки. Если я отстаю в том, что касается кого-то, пожалуйста, приведите меня к ответу.

Вопрос: поддерживает ли Flowger сериализацию, десериализацию, декодирование и / или кодировку JSON? Например, есть фреймворк под названием JSON.Net. Могу ли я использовать это, если я хочу манипулировать своим свойством fgRequestBody из моей переменной bar?

1 ответ

Решение

Попробуйте следующие шаги, чтобы получить желаемые результаты:
1 - Добавить переменную bar с двумя специальными свойствами: FgRequestBody и FgRequestContentType. Убедитесь, что вы указали тип контента в рабочем процессе, которым в вашем случае будет application/json.
2 - Добавьте 'JSON Convert' непосредственно после начального узла и укажите свою переменную bar FgRequestBody на вход Json в Json Convert. Это преобразует JSON в XML.
3 - Добавьте узел "XFormat" и подключите вывод XML из Json Convert к свойству "XML Document". Щелкните правой кнопкой мыши узел и добавьте новое пользовательское свойство с именем поля, которое вы хотите извлечь. В значении пользовательского свойства добавьте xpath к значению. В свойстве Expression узла добавьте оператор SQL, например:

select * from tableName where name = '{customProperty}'

Результатом этого будет ваш sql запрос.

Совет по устранению неполадок:
Используйте Postman Add-In (Chrome) или RESTClient (Firefox) для проверки результатов. Вы должны увидеть генерацию узла в журнале активности в Flowgear. Если вы этого не видите, добавьте AllowedOrigin * в свойствах сайта Flowgear. См. Следующее для ссылки на это: http://en.wikipedia.org/wiki/Cross-origin_resource_sharing

Другие вопросы по тегам