Я новичок в программировании на Java.
У меня есть строка ниже, в которой есть одна переменная
("{\r\n" + " \"tenant\": \"https://example.com/login\"\r\n" + "}")
вместо example.com/login
мне нужно поместить туда переменную url
, но я не знаю, как отформатировать строку с правильным экранированием.
Ниже приведена ошибка
Неверная escape-последовательность (допустимые: \b \t \n \f \r \" \' \\ )
Я просмотрел много постов, но все еще не повезло.
"{\r\n :" "\tenant\:" + url + "\r\n" + "}"")
Выше не работает. Как я могу это исправить? url
— переменная, содержащая строку example.com.
Чего на самом деле вы пытаетесь достичь? Вы действительно пытаетесь создать строку JSON? Если да, то почему бы просто не использовать для этого библиотеку?
«Мне нужно поместить туда переменный URL». Хорошо. Как насчет того, чтобы сделать это и показать свою попытку? Демонстрация работающего кода никому не нужна.
пожалуйста, посмотрите обновление.
использование значения переменной url
вместо example.com/login
будет выглядеть примерно так "{\r\n" + " \"tenant\": \"https://" + url + "\"\r\n" + "}"
... несмотря на то, что я бы предпочел использовать такой форматтер, как String.format()
(прокомментировано перед обновлением вопроса...)
почему ты меняешь "{\r\n" + " \"tenant
на "{\r\n :" "\tenant
; и tenant\":
в tenant\:"
??? (иметь всего две строки без +
недопустимо в Java, равно как и \:
)
Пожалуйста, предоставьте минимальный воспроизводимый пример и полную трассировку стека исключений. Насколько мне известно, эта ошибка не является ошибкой компиляции Java, поэтому, скорее всего, это ошибка того, что получает результирующую строку.
например String.format("{\r\n \"tenant\": \"%s\"\r\n}", url)
или используя системные символы новой строки по умолчанию, если это необходимо: String.format("{%n \"tenant\": \"%s\"%n}", url)
-- Примечание: лучше использовать какую-нибудь библиотеку для правильного создания JSON (если это так)
Спасибо всем . это сработало . спасибо всем за комментарии и поддержку
Так:
("{\r\n" + " \"tenant\": \"" + url + "\"\r\n" + "}")
Строка, которую вы даете, компилируется для меня.