java 将字符串转换为json格式的方法(java把字符串转为json)
•
科普常识
前言
本文讲解如何在java项目中,打印protobuf的结构体为 json。如果你刚刚接触到java和protobuf开发,这篇文章可以帮助到您。
问题
如果你直接用fastjson或者gson等转换对象为json string,你会报错。
比如你用
JSON.toJSONString(grpcService.getUserInfo());
报错像这样
: write javaBean error, fastjson version 1.2.56, class com.google.protobuf.Descriptors$FieldDescriptor,write javaBean error, fastjson version 1.2.56, class com.google.protobuf.Descriptors$Descriptor, fieldName : ***, write javaBean error,fastjson version 1.2.56,class com.google.protobuf.Descriptors$FieldDescriptor, fieldName : 1
正确打印为json
我们需要用内置的方法
需要先引入 这个包
import com.google.protobuf.util.JsonFormat;
然后在需要打印(获取json字符串的位置,编码)
JsonFormat.printer().includingDefaultValueFields() .print(grpcService.getUserInfo());
print(方法里是你的服务和方法)
这样就能获取到json格式的文本了。
JsonFormat.printer()获取一个打印工具类
includingDefaultValueFields 把所有的结构都带上
print 打印最终的目标对象
本站部分内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规等内容,请联系我们举报!一经查实,本站将立刻删除。