[英]Reverse JSON pretty print with Jackson
我知道我可以重新格式化Java中的JSON對象(使用Jackson,GSON等),從
{"a":"b", "c":"d"}
至
{
"a": "b",
"c": "d"
}
但是我該如何將JSON對象轉換回每行一個對象的格式,即如何從
{
"a": "b",
"c": "d"
}
至
{"a":"b", "c":"d"}
Java中使用現有的漂亮打印機進行打印?
看一下以下URL: Jackson序列化功能
這將向您展示如何禁用功能,例如在每次調用時縮進輸出,即使您正在重復使用已配置用於漂亮打印的同一對象。
我認為Pretty Print是Jackson 1.x的命名法...您應該在尋找SerializationFeature.INDENT_OUTPUT
@Test
public void test() throws Exception {
ObjectMapper mapper = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT);
String s = "{ \"a\" : \"b\" ,\n \"c\" : \"d\"}";
Object x = mapper.readValue(s, Object.class);
ObjectWriter w = mapper.writer();
// Indented
System.out.println(w.writeValueAsString(x));
// Single Line
System.out.println(w.without(SerializationFeature.INDENT_OUTPUT).writeValueAsString(x));
}
由於您已經在使用Jackson,因此應該使用以下命令立即使用:
String prettyJson = "{ \"a\" : \"b\" ,\n \"c\" : \"d\"}";
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode;
try {
jsonNode = objectMapper.readValue(prettyJson, JsonNode.class);
System.out.println(jsonNode.toString());
} catch (IOException e) {
e.printStackTrace();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.