JSON экранирующих символов с использованием json .stringify () в сценариях каратэ - PullRequest
2 голосов
/ 03 февраля 2020

Я хотел бы преобразовать каждый запрос в следующий формат перед отправкой запроса.

"Store": {
"Tesco": "1284756",
    "Sainsburys": "37384657",
    "Asda": "1234567"
}

Я считаю, что мы можем использовать что-то вроде JSON.stringify({"Store": {"Tesco": "1284756","Sainsburys": "37384657","Asda": "1234567"}}).replace(/[\"]/g, '\\\"'); для преобразования строки.

Как мы можем использовать это в каратэ для преобразования каждого запроса в следующий формат:

\"Store\": {\n\"Tesco\": \"1284756\",\n    \"Sainsburys\": \"37384657\",\n    \"Asda\": \"1234567\"\n}\n

Я также хотел бы обработать ответ и вернуть его обратно в следующий формат?

"Store": {
"Tesco": "1284756",
    "Sainsburys": "37384657",
    "Asda": "1234567"
}

1 Ответ

0 голосов
/ 03 февраля 2020

Пожалуйста, избегайте JSON.stringify() и используйте функции "преобразования типов" в карате, разработанные специально для этого. И прочитайте документы:

https://github.com/intuit/karate#type -конверсия

* json temp = someString
...