ParseFromString буфера протокола в Java для парсинга текстового формата?

Is ParseFromString доступно в Java для буферов протокола?

версия C++ имеет его:здесь

2 ответов


вот реализация ParseFromString (заметим, что TextFormat::ParseFromString просто называет TextFormat::Parser::ParseFromString на новый


для метод TextFormat.getParser().merge(str, builder); это делает. Например:

    AOuterClass.A.Builder buildA = AOuterClass.A.newBuilder();
    buildA.setName("Abra Kadabra");
    buildA.addPrices(3.14);
    buildA.addPrices(3.141592);
    AOuterClass.A aaa = buildA.build();

    String str = aaa.toString();

    AOuterClass.A.Builder builder = AOuterClass.A.newBuilder();
    ///////////////////////////////////////////
    TextFormat.getParser().merge(str, builder);

    System.out.println(builder.build().equals(aaa));  //true

протестировано с proto3.