使用 MessageFormat 转义双引号

Jab*_*lin 1 java json messageformat

我有以下 JSON 格式的字符串:

String message = "{ \"message\": \"Hello World!\" }";
Run Code Online (Sandbox Code Playgroud)

但我想将其设置为使用 MessageFormat:

String message = MessageFormat.format("{ \"message\": \"Hello {0}!\" }", "World");
Run Code Online (Sandbox Code Playgroud)

我知道 MessageFormat 使用单引号与反斜杠来转义字符,但我没有看到在这里使用反斜杠的方法,因为我需要在消息中使用双引号,并且如果没有反斜杠,未转义的双引号会破坏字符串。

知道如何让它发挥作用吗?

Spa*_*ara 5

您应该转义外大括号,因此将{and放在}单引号中:

 String message = MessageFormat.format("'{' \"message\": \"Hello {0}!\" '}'", "World");
Run Code Online (Sandbox Code Playgroud)