项目中rpc接口定义的类是使用protobuf定义的,然后会自动生成对应的类,但是打印的时候会换行,所以看看怎么解决这个问题
public static void main(String[] args) {
Test test = Test.newBuilder().setA("a").setB("b").setC("c").build();
System.out.println(test);
}
输出:
a: "a"
b: "b"
c: "c"
可以看到有换行
<!--protobuf与json互转-->
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java-util</artifactId>
<version>3.23.1</version>
</dependency>
public static String writeValueAsString(MessageOrBuilder message) {
try {
return JsonFormat.printer()
.omittingInsignificantWhitespace() //去掉换行
.print(message);
} catch (Exception e) {
log.error("print error, message={}, msg={}", message, e.getMessage(), e);
}
return StringUtils.EMPTY;
}
public static void main(String[] args) {
Test test = Test.newBuilder().setA("a").setB("b").setC("c").build();
System.out.println(writeValueAsString(test));
}
输出:
{"a":"a","b":"b","c":"c"}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.cnblogs.com/eaglelihh/p/17570717.html
内容来源于网络,如有侵权,请联系作者删除!