所以我将JSON字符串解析为java字符串并打印它。我使用以下方法来做到这一点。
JSONParser parser=new JSONParser();
Object obj = parser.parse(output);
JSONObject jsonObject = (JSONObject) obj;
String stdout= (String) jsonObject.get("Stdout");
String stderr= (String) jsonObject.get("Stderr");
out.print(stdout);
out.print(stderr);
这是我的JSON字符串:
{"Stdout":"/mycode.c: In function 'main':\n/mycode.c:8:5: error: expected ';' before 'return'\n return 0;\r\n ^\nsh: 1: ./myapp: not found\n","Stderr":"exit status 127"}
当我使用System.out.print(stdout)
和System.out.print(stdout)
时,我在控制台中获得了所需的输出格式。那是:
但现在很明显我想在我的网页上找到它,所以我做了out.print(stdout)
。但我没有得到所需的格式。相反,它只显示一行。见图:
任何想法如何解决这个问题?
答案 0 :(得分:1)
您的网页是HTML,因此您的/r/n
不会被视为换行符。
您可以使用\r\n
标记替换所有<br>
以强制换行。
或者将整条信息放在<PRE>
标记中,这会将其呈现为简单无聊的文字,而不是HTML内容。这可能是更安全的选项,因为内容可能包含可能扰乱浏览器HTML解析的其他字符或文本:
out.print("<PRE>" + stdout + "</PRE>");