我在Gson中创建的My Json出现在单行中,当我在Web中查看它时
问题描述:
我正在使用java,MySQ,Jersey和Gson创建一个RESTful Web服务。它的工作原理,但我唯一的问题是,当我在服务器上运行它并转到我的项目的本地主机站点JSON都在一行。我在Gson中创建的My Json出现在单行中,当我在Web中查看它时
这是Web上JSON的输出。
"[\n{\n\"id\":5,\n\"subject\":\"Math\",\n\"subjectAcronym\":\"MT\",\n\"classNumber\":2550,\n\"className\":\"Linear Algebra\",\n\"unit\": 3,\n\"prerequisite\":true,\n\"corequisite\":false\n}\n]"
这是代码中的类。
@GET
@Path("/Classes")
@Produces("application/json")
public String feed() {
String feeds = null;
try {
ArrayList<ClassList> feedData = null;
ClassManager projectManager = new ClassManager();
feedData = projectManager.GetFeeds();
Gson gson = new GsonBuilder().setPrettyPrinting().create();
System.out.println(gson.toJson(feedData));
feeds = gson.toJson(feedData);
}
catch (Exception e) {
System.out.println("Exception Error"); // Console
}
return feeds;
}
代码中的GsonBuilder().setPrettyPrinting()
以我希望它在Web上打印的方式打印出来。
eclipse控制台中的输出。
[
{
"id": 5,
"subject": "Math",
"subjectAcronym": "MT",
"classNumber": 2550,
"className": "Linear Algebra",
"unit": 3,
"prerequisite": true,
"corequisite": false
}
]
我有2个类似于这个类的所有类都显示在网上(在一行中)。如何在Web上显示像控制台中的输出?任何回应都很有帮助。谢谢。
答
这是因为您的JSON是一个字符串,因为您将GsonBuilder设置为漂亮的打印格式,从而增加了换行符和格式等。你想写没有格式的JSON,所以它是JSON而不是一个字符串。如果你愿意,你也可以打印。我相信这将解决您的问题:
@GET
@Path("/Classes")
@Produces("application/json")
public String feed() {
String feeds = null;
try {
ArrayList<ClassList> feedData = null;
ClassManager projectManager = new ClassManager();
feedData = projectManager.GetFeeds();
Gson gson_pretty = new GsonBuilder().setPrettyPrinting().create();
Gson gson = new Gson();
System.out.println(gson_pretty.toJson(feedData));
feeds = gson.toJson(feedData);
}
catch (Exception e) {
System.out.println("Exception Error"); // Console
}
return feeds;
}
请注意,在谷歌浏览器中,JSON表示在一行上。 Here是改变这一点的扩展。 Firefox默认显示JSON,如下所示:
+0
很高兴为您服务!然后,请将答案标记为已接受。这是答案下的投票按钮下的复选标记。 – Steampunkery
你是什么意思“在网上”?你发布的json包含换行符。只需查看一下正确显示格式的内容即可。 – azurefrog
当我在apache服务器上运行它时,我转到了url:http:// localhost:8080/RESTfulProject/REST/WebService/Classes输出显示在一行中。 –
它来自哪里并不重要,它关乎你如何看待它。如果您不喜欢现在正在使用的格式,请使用其他格式。 – azurefrog