Как исправить неверную escape-последовательность

Я новичок в программировании на 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.

Строка, которую вы даете, компилируется для меня.

markspace 25.07.2024 07:54

Чего на самом деле вы пытаетесь достичь? Вы действительно пытаетесь создать строку JSON? Если да, то почему бы просто не использовать для этого библиотеку?

ndc85430 25.07.2024 07:59

«Мне нужно поместить туда переменный URL». Хорошо. Как насчет того, чтобы сделать это и показать свою попытку? Демонстрация работающего кода никому не нужна.

Sören 25.07.2024 08:25

пожалуйста, посмотрите обновление.

user2315104 25.07.2024 08:48

использование значения переменной url вместо example.com/login будет выглядеть примерно так "{\r\n" + " \"tenant\": \"https://" + url + "\"\r\n" + "}"... несмотря на то, что я бы предпочел использовать такой форматтер, как String.format() (прокомментировано перед обновлением вопроса...)

user85421 25.07.2024 08:48

почему ты меняешь "{\r\n" + " \"tenant на "{\r\n :" "\tenant; и tenant\": в tenant\:" ??? (иметь всего две строки без + недопустимо в Java, равно как и \:)

user85421 25.07.2024 08:52

Пожалуйста, предоставьте минимальный воспроизводимый пример и полную трассировку стека исключений. Насколько мне известно, эта ошибка не является ошибкой компиляции Java, поэтому, скорее всего, это ошибка того, что получает результирующую строку.

Mark Rotteveel 25.07.2024 08:53

например String.format("{\r\n \"tenant\": \"%s\"\r\n}", url) или используя системные символы новой строки по умолчанию, если это необходимо: String.format("{%n \"tenant\": \"%s\"%n}", url) -- Примечание: лучше использовать какую-нибудь библиотеку для правильного создания JSON (если это так)

user85421 25.07.2024 08:57

Спасибо всем . это сработало . спасибо всем за комментарии и поддержку

user2315104 25.07.2024 09:08
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
9
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Так:

("{\r\n" + "  \"tenant\": \"" + url + "\"\r\n" + "}")

Другие вопросы по теме