java - Jackson Json 在换行后生成一个空格

标签 java json jackson

这是我的代码

import java.io.File;
import java.io.IOException;

import com.fasterxml.jackson.core.JsonEncoding;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerator;

public class Test {

    public static void main(String[] args) throws IOException {
        JsonFactory jfactory = new JsonFactory();
        JsonGenerator jGenerator = jfactory.createJsonGenerator(new File("test.json"), JsonEncoding.UTF8);

        for(int i=0;i<4;i++){
            jGenerator.writeStartObject(); // {
            jGenerator.writeStringField("name" , "test");
            jGenerator.writeEndObject();   // }
            jGenerator.writeRaw('\n');     // creates new line
        }

        jGenerator.close();

        System.out.println("File Generated");
    }

}

运行此命令后,当我查看生成的文件时,它在每条新记录之前都有一个空格。有没有办法在生成文件本身时删除这个空格??

样本输出

{"name":"test"}  
 {"name":"test"}  
 {"name":"test"}  
 {"name":"test"} 

最佳答案

接下来使用PrettyPrinter

   new MinimalPrettyPrinter("");  

你的代码看起来像

   JsonFactory jfactory = new JsonFactory();
   JsonGenerator jGenerator = jfactory.createJsonGenerator(new File("test.json"), JsonEncoding.UTF8);
   jGenerator.setPrettyPrinter(new MinimalPrettyPrinter("")); 
    for(int i=0;i<4;i++)
    {
       jGenerator.writeStartObject();
       jGenerator.writeStringField("name" , "test");
       jGenerator.writeEndObject();
       jGenerator.writeRaw('\n');
    }
    jGenerator.close();

关于java - Jackson Json 在换行后生成一个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17228593/

相关文章:

java - 我们如何在 weblogic 服务器中获取历史线程转储

java - 如何在 log4j 2 中使用 AppenderComponentBuilder 正确创建 RollingFileAppender

javascript - 如何向网站内容添加词典

java - 使用 Jackson GWT 访问嵌套 JSON 值

java - 如何在 Java 中解析 JSON 对象数组

java - plMortgage 计算器 GUI 问题很多

Java AngularJS Spring MVC - 将 bean 发送到 Controller 时 $http.post 400 bad request 语法不正确

java - 如何使用 JSON 将字符串从 android 传递和读取到 sql

sql - 在 SQL Server 中从 JSON 中删除空元素

java - 将字段传递给自定义反序列化器类 Jackson