【问题标题】:How to maintain the format of a string JavaJava如何维护字符串的格式
【发布时间】:2015-03-04 16:34:14
【问题描述】:

所以我将 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)。但我没有得到想要的格式。相反,它只显示一行。见图片:

任何想法如何解决这个问题?

【问题讨论】:

    标签: java json jsp


    【解决方案1】:

    您的网页是 HTML,因此您的 /r/n 不会被视为换行符。

    您可以将所有\r\n 替换为<br> 标签以强制换行。

    或者将您的整个消息放在<PRE> 标记中,这会将其呈现为普通无聊的文本而不是HTML 内容。这可能是更安全的选择,因为内容可能包含其他字符或文本,可能会扰乱浏览器对 HTML 的解析:

    out.print("<PRE>" + stdout + "</PRE>");
    

    【讨论】:

    • 工作就像一个魅力!
    猜你喜欢
    • 2023-03-18
    • 2019-08-29
    • 1970-01-01
    • 1970-01-01
    • 2013-09-22
    • 2011-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多