StringEscapeUtils 中的 unescapeJava 和 unescapeJson 有什么区别

What is the difference between unescapeJava and unescapeJson from StringEscapeUtils

根据 StringEscapeUtils documentation, looks like both these methods unescapeJson and unescapeJava 做类似的事情。

我尝试使用这两种方法,效果如下:

示例:

String input = "{\"key\":\"ab\u2019cd\"}"
System.out.println(unescapeJava(input)); // outputs: {"key":"ab’cd"}
System.out.println(unescapeJson(input)); // outputs: {"key":"ab’cd"}

这两个语句打印出完全相同的输出。那么,有什么区别以及何时使用哪种方法?

它们是相同的,正如您在 the sources 中看到的那样:

public static final CharSequenceTranslator UNESCAPE_JSON = UNESCAPE_JAVA;