JsonElement element = new JsonParser().parse(input); cleanJsonElement(element); JsonFormat.parser().ignoringUnknownFields().merge(element.toString(), builder); return (TYPE) builder.build(); } catch (Exception e) {
/** * Converts a JSON object to a protobuf message. * <p> * Note: Ignores unknown fields * * @param builder the proto message type builder * @param input the JSON object to convert * @return the converted protobuf message */ public static Message fromJson(Message.Builder builder, JsonObject input) throws Exception { JsonFormat.parser().ignoringUnknownFields().merge(input.toString(), builder); return builder.build(); }
/** * Create a {@code Marshaller} for json protos of the same type as {@code defaultInstance}. * * <p>This is an unstable API and has not been optimized yet for performance. */ public static <T extends Message> Marshaller<T> jsonMarshaller(final T defaultInstance) { final Parser parser = JsonFormat.parser() .ignoringUnknownFields(); final Printer printer = JsonFormat.printer().preservingProtoFieldNames(); return jsonMarshaller(defaultInstance, parser, printer); }