Избегайте двойных кавычек с MessageFormat - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть следующая строка в формате JSON:

String message = "{ \"message\": \"Hello World!\" }";

Но я хочу настроить его на использование MessageFormat:

String message = MessageFormat.format("{ \"message\": \"Hello {0}!\" }", "World");

Я знаю, что MessageFormat использует одинарные кавычки против обратной косой черты вescape-символы, но я не вижу возможности использовать обратную косую черту здесь, так как мне нужны двойные кавычки в сообщении, а без обратной косой черты неэкранированные двойные кавычки разбивают строку.

Любая идея, как получить это дляработа

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Вы должны избегать внешних скобок, поэтому ставьте { и } в одинарные кавычки:

 String message = MessageFormat.format("'{' \"message\": \"Hello {0}!\" '}'", "World");
0 голосов
/ 06 декабря 2018

Используйте два escape-символа для escape-символа и экранированную цитату для цитаты.

String message = MessageFormat.format("{ \\\"message\\\": \\\"Hello {0}!\\\" }", "World");
...