Это только правильное поведение, чтобы сохранить вашу строку как значение в JSON, содержащее "
, оно должно быть экранировано правильно.
для экранирования \
будет использовано до "
Это ничего не меняет
* def name = ' karate is created by "Peter".'
# karate is created by "Peter".
* def callInput = {"name" : "#(name)"}
# {"name" : "karate is created by \"Peter\"."}
* print callInput.name
# karate is created by "Peter".
* match callInput.name == name
Все то же самое снаружи, только внутри JSON оно будет экранировано для строковых кавычек.