如何将Java对象转换为JSON字符串?
您好,我正在尝试将Java对象转换为Json字符串,以便在视图中使用javascript函数 我尝试使用谷歌的gson库:如何将Java对象转换为JSON字符串?,java,javascript,json,model-view-controller,Java,Javascript,Json,Model View Controller,您好,我正在尝试将Java对象转换为Json字符串,以便在视图中使用javascript函数 我尝试使用谷歌的gson库: String myjson = ""; Gson gson = new Gson(); myjson = gson.toJson(myuser);//myuser is my java object 但是,当我调用myjson时,它由“””而不是“””字符组成。因此,我无法在视图中使用它,这给我带来了问题 我如何解决这个问题,如何正确地创建Json字符串 编辑:呈现myj
String myjson = "";
Gson gson = new Gson();
myjson = gson.toJson(myuser);//myuser is my java object
但是,当我调用myjson时,它由“”
”而不是“”
”字符组成。因此,我无法在视图中使用它,这给我带来了问题
我如何解决这个问题,如何正确地创建Json字符串
编辑:呈现myjson时是否有可能出错
Edit2:为了获得视图中myjson的结果,我正在
render(myjson)
在我的代码末尾
Edit3:Play框架有一个renderJSON()方法。但是,我不能使用它,因为我不仅要呈现myjson和其他一些元素。请注意,“quot”是“正确的”JSON,因此可以正确转义javascript,无论如何,如果您不想在JSON中使用实体,您可能想禁用html格式化/转义
试用
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
查看GSONBuilder对象文档我认为他在保护您免受html特殊字符的攻击 试试这样:
Gson gson = new Gson();
String target = "my text";
String json = gson.toJson(target);
此代码是从(api)中提取的。因此,如果您使用
System.out.println(myjson)代码>紧跟在myjson=gson.toJson(myuser)之后
,您看到的是“
而不是”
?您必须以某种方式对JSON字符串进行HTML转义。你在用JSON字符串做什么?实际上,它不是完全用java编写的。我使用的是mvc,所以这段代码来自我的控制器,当我在视图中调用myjson时,它会给我带引号的myjson;哪个mvc?是春天吗?还是什么?我在用游戏框架