首页 > 解决方案 > 将 Protobuf 转换为 JSON 时禁用 HTML 转义

问题描述

给定一个简单的 Protobuf 消息

message MessageWithUrl {

  string url_params = 1;

}

我正在执行以下操作:

Msg.MessageWithUrl message = Msg.MessageWithUrl
                .newBuilder()
                .setUrlParams("?key=value")
                .build();

String json = JsonFormat.printer()
                .print(message);

System.out.println(json);

我的预期结果是:

{
  "urlParams": "?key=value"
}

相反,我得到:

{
  "urlParams": "?key\u003dvalue"
}

我知道这printerGson在引擎盖下使用,但我不知道如何让它接受Gson选项disableHtmlEscaping

标签: javaserializationprotocol-buffers

解决方案


推荐阅读