2

我正在使用 gRPC ( http://www.grpc.io ),并且我有一个从客户端到服务器的请求。我希望使用ObjectMapper mapper或 Jackson 来创建 Json 字符串。

例如

ObjectMapper mapper = new ObjectMapper();       

try {
    NFFGSrpcreq1=NFFGSrpc.newBuilder().addNffg(request).build();

    // Convert object to JSON string
    String jsonInString = mapper.writeValueAsString(req1);
    System.out.println(jsonInString);
} catch (JsonGenerationException e) {
    e.printStackTrace();
} catch (JsonMappingException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

但是在执行期间我有一个例外来启动。

4

1 回答 1

1

使用杰克逊有多重要?

如果这很重要,那么我会建议您为中间对象创建一个类,NFFGSrpc req1然后将其序列化为 JSON。

否则,您可以使用Protocol Buffers [Util] ,它提供JsonFormat.Printer了将 protobuf 消息转换为 JSON 格式的类,例如:

JsonFormat.Printer printer = JsonFormat.printer();
NFFGSrpc req1 = NFFGSrpc.newBuilder().addNffg(request).build();
String jsonInString = printer.print(req);
于 2019-10-18T08:47:06.523 回答