Java “好办法”;保留;JSON中的换行符?

Java “好办法”;保留;JSON中的换行符?,java,json,jersey-2.0,Java,Json,Jersey 2.0,我正在构建一个JavaJersey 2RESTAPI(爬虫)。爬虫从文章中检索文本并以json格式返回。该API稍后将由其他开发人员使用 所以我的问题是-如何在json输出中“保留”字符串中的换行符 处理此问题的另一个服务示例(json输出): 您可以看到他们在json中使用了\n。我也在使用Jackson,并以如下所示的方式进行操作(此处仅粘贴了特定部分)。 对我来说,一切正常,根据你的需要改变它 @GET @Path("/getLocale") @Produces({ MediaType.A

我正在构建一个JavaJersey 2RESTAPI(爬虫)。爬虫从文章中检索文本并以json格式返回。该API稍后将由其他开发人员使用

所以我的问题是-如何在json输出中“保留”字符串中的换行符

处理此问题的另一个服务示例(json输出):


您可以看到他们在json中使用了\n。

我也在使用Jackson,并以如下所示的方式进行操作(此处仅粘贴了特定部分)。 对我来说,一切正常,根据你的需要改变它

@GET
@Path("/getLocale")
@Produces({ MediaType.APPLICATION_JSON} )
public Response getLocale(@Context HttpServletRequest request) {
    ResponseBuilder responseBuilder = Response.status(200);

    String str=null;
    byte[] bytes=null;

    String appLocation = SystemParameters.getInstance().getParameter("application.home.dir")+"/WEB-INF/lang/";

    InputStream is = new FileInputStream(appLocation+"/en_US.json");

    try {
        bytes = IOUtils.toByteArray(is);
    } catch (IOException e) {
        //ERROR
    }

    str = new String(bytes, "UTF-8");
    str = str.replaceAll("\\r\\n", "");
    str = str.replaceAll("\\t", "");
    str = str.replaceAll("\\\"", "\"");

    return responseBuilder.entity(str).build();
}
JSON文件:

"CERTIFICATE_STATUS_PASSWORD_INVALID":"Unable to read certificate with the given password.\nUpload the certificate with a valid password."

我认为'\n'(标准方式)是从服务传递json换行符的好方法,客户端可以理解它并从此处中断语句。谢谢:)问题是,json解析器(jackson)从字符串中删除了这些字符(\n)。有什么提示可以防止这种情况吗?请看下面我的答案,如果它不起作用,请告诉我。谢谢!稍后我会尝试一下,然后再回来找你。这很有效-我只是觉得拦截器可能是处理这个问题的好方法!你觉得呢?他们说要保留新线,但看起来你要把它们去掉了?。。。
"CERTIFICATE_STATUS_PASSWORD_INVALID":"Unable to read certificate with the given password.\nUpload the certificate with a valid password."