Как получить чтение строки JSON из файла в Mule 4 - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь создать тест MUnit, который проверяет HTTP-запрос, устанавливая полезную нагрузку для объекта JSON, который я сохранил в файле. В Муле 3 я бы просто сделал getResource('fileName.json').asString(), и это сработало просто отлично. В Mule 4 я не могу статически вызывать getResource.

Я нашел сообщение на форумах Mulesoft , в котором предлагалось использовать MunitTools::getResourceAsString. Когда я запускаю свой тест, я вижу объект JSON, но со всеми символами \n и \r, а также \, экранирующими все кавычки. Очевидно, это означает, что мой JSON больше не является правильно сформированным.

В идеале я хотел бы найти ссылку на MunitTools, чтобы я мог видеть список функций, которые я могу вызвать, и, возможно, найти функцию, которая не добавляет escape-символы, но мне не повезло. Если кто-нибудь знает какой-либо справочный документ, к которому я могу обратиться, пожалуйста, дайте мне знать.

Не найдя способа вернуть данные без лишних символов, я попытался заменить их через dataweave. Это нормально при замене \n и \r, но так как перед каждой двойной кавычкой есть также больше \ s, и я не могу заставить их уйти.

Если я сделаю это ...

replace (/\/) with ("")

... Я получаю ошибку. Сотрудник предложил нацелиться на каждого \" и заменить их на ", но это проблема, потому что это дает мне """. Чтобы обойти это, я попытался

replace(/\"/) with "\""

... который не вызывает никаких ошибок, но по какой-то причине он читает \ как литерал, поэтому он заменяет исходную строку на себя. Я также пытался ... заменить '"' ... но это также приводит к ошибке

Я открыт для любых других решений.

Спасибо

- Drew

...