Gson - 自动报价(“)转义?
我在我的Java EE服务器上使用GSON为视图提供一些json。在某些对象中,我有很长的文本,可以包含任何内容(例如“多么”伟大“的新闻!
我确信默认情况下GSON不会转义双引号,因此它不会生成有效的JSON。
有没有一个好方法可以做到这一点?
我在我的Java EE服务器上使用GSON为视图提供一些json。在某些对象中,我有很长的文本,可以包含任何内容(例如“多么”伟大“的新闻!
我确信默认情况下GSON不会转义双引号,因此它不会生成有效的JSON。
有没有一个好方法可以做到这一点?
也许我不理解你的问题,但我能够让GSON处理带引号的字符串,而无需任何设置或更改。
import com.google.gson.Gson;
public class GSONTest {
public String value;
public static void main(String[] args) {
Gson g = new Gson();
GSONTest gt = new GSONTest();
gt.value = "This is a \"test\" of quoted strings";
System.out.println("String: " + gt.value);
System.out.println("JSON: " + g.toJson(gt));
}
}
输出:
String: This is a "test" of quoted strings
JSON: {"value":"This is a \"test\" of quoted strings"}
也许我不明白你在问什么?
尝试使用 setPrettyPrinting with DisableHtml escaping。
import com.google.gson.Gson;
Gson gson = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(jsonArray.toString());
System.out.println( gson.toJson(je));