GraphQL устраняет строковые литералы с помощью двойных кавычек ("
).Если вам нужно использовать строковый литерал с одним или несколькими символами двойной кавычки внутри него, вам нужно правильно экранировать эти символы, вставляя обратную косую черту (\
) перед каждым.Если вы этого не сделаете, GraphQL обрабатывает двойную кавычку внутри строки как терминатор для всей строки, и обычно следующий символ в вашей строке заканчивается синтаксической ошибкой.
Таким образом, строковое значениенапример:
{"key": "value"}
необходимо экранировать следующим образом:
{\"key\": \"value\"}
как литерал внутри вашего документа GraphQL, в итоге он выглядит следующим образом:
"{\"key\": \"value\"}"
Это правило также применимо к строкам, которые вы отправляете как переменные, но это связано с правилами синтаксиса JSON, а не с правилами GraphQL.Подробнее о экранировании символов внутри строк вы можете прочитать в spec .