OBSERVAÇÃO:este site foi descontinuado. O site será desativado após 31 de janeiro de 2023, e o tráfego será redirecionado para o novo site em https://protobuf.dev. Enquanto isso, as atualizações serão feitas apenas para protobuf.dev.

json_util.h.

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

#include <google/protobuf/util/json_util.h>
namespace google::protobuf::util

Funções utilitárias para conversão entre o formato binário protobuf e o formato proto3 JSON.

Turmas neste arquivo

Participantes do arquivo

Essas definições não fazem parte de nenhuma classe.
typedef
JsonPrintOptions JsonOptions
OBSOLETO. Use JsonPrintOptions.
util::Status
MessageToJsonString(const Message & message, std::string * output, const JsonOptions & options)
Converte uma mensagem protobuf para JSON e a anexa à |output|. mais...
util::Status
MessageToJsonString(const Message & message, std::string * output)
util::Status
JsonStringToMessage(StringPiece input, Message * message, const JsonParseOptions & options)
Converte a mensagem JSON em protobuf. mais…
util::Status
JsonStringToMessage(StringPiece input, Message * message)
util::Status
BinaryToJsonStream(TypeResolver * resolver, const std::string & type_url, io::ZeroCopyInputStream * binary_input, io::ZeroCopyOutputStream * json_output, const JsonPrintOptions & options)
Converte dados binários protobuf para JSON. mais…
util::Status
BinaryToJsonStream(TypeResolver * resolver, const std::string & type_url, io::ZeroCopyInputStream * binary_input, io::ZeroCopyOutputStream * json_output)
util::Status
BinaryToJsonString(TypeResolver * resolver, const std::string & type_url, const std::string & binary_input, std::string * json_output, const JsonPrintOptions & options)
util::Status
BinaryToJsonString(TypeResolver * resolver, const std::string & type_url, const std::string & binary_input, std::string * json_output)
util::Status
JsonToBinaryStream(TypeResolver * resolver, const std::string & type_url, io::ZeroCopyInputStream * json_input, io::ZeroCopyOutputStream * binary_output, const JsonParseOptions & options)
Converte dados JSON para o formato binário protobuf. mais…
util::Status
JsonToBinaryStream(TypeResolver * resolver, const std::string & type_url, io::ZeroCopyInputStream * json_input, io::ZeroCopyOutputStream * binary_output)
util::Status
JsonToBinaryString(TypeResolver * resolver, const std::string & type_url, StringPiece json_input, std::string * binary_output, const JsonParseOptions & options)
util::Status
JsonToBinaryString(TypeResolver * resolver, const std::string & type_url, StringPiece json_input, std::string * binary_output)

util::Status util::MessageToJsonString(
        const Message & message,
        std::string * output,
        const JsonOptions & options)

Converte uma mensagem protobuf para JSON e a anexa à |output|.

Este é um wrapper simples de BinaryToJsonString(). Ele vai usar o DescriptorPool da mensagem transmitida para resolver qualquer tipo.


util::Status util::JsonStringToMessage(
        StringPiece input,
        Message * message,
        const JsonParseOptions & options)

Converte a mensagem JSON em protobuf.

Este é um wrapper simples de JsonStringToBinary(). Ele vai usar o DescriptorPool da mensagem transmitida para resolver qualquer tipo.


util::Status util::BinaryToJsonStream(
        TypeResolver * resolver,
        const std::string & type_url,
        io::ZeroCopyInputStream * binary_input,
        io::ZeroCopyOutputStream * json_output,
        const JsonPrintOptions & options)

Converte dados binários protobuf para JSON.

A conversão falhará se:

1. TypeResolver fails to resolve a type.
2. input is not valid protobuf wire format, or conflicts with the type
   information returned by TypeResolver.

Os campos desconhecidos serão descartados silenciosamente.


util::Status util::JsonToBinaryStream(
        TypeResolver * resolver,
        const std::string & type_url,
        io::ZeroCopyInputStream * json_input,
        io::ZeroCopyOutputStream * binary_output,
        const JsonParseOptions & options)

Converte dados JSON para o formato binário protobuf.

A conversão falhará se:

1. TypeResolver fails to resolve a type.
2. input is not valid JSON format, or conflicts with the type
   information returned by TypeResolver.

struct JsonParseOptions

#include <google/protobuf/util/json_util.h>
namespace google::protobuf::util

Participantes

bool
ignore_unknown_fields
Define se campos JSON desconhecidos serão ignorados durante a análise.
bool
case_insensitive_enum_parsing
Se for verdadeiro, quando um valor de enumeração em letras minúsculas não for analisado, tente convertê-lo para UPPER_CASE e veja se ele corresponde a um valor enum válido. mais…
JsonParseOptions()

bool JsonParseOptions::case_insensitive_enum_parsing

Se for verdadeiro, quando um valor de enumeração em letras minúsculas não for analisado, tente convertê-lo para UPPER_CASE e veja se ele corresponde a um valor enum válido.

AVISO: essa opção existe apenas para preservar o comportamento legado. Evite usar essa opção. Se a enumeração precisar oferecer suporte a maiúsculas e minúsculas diferentes, considere o uso de allow_alias.

struct JsonPrintOptions

#include <google/protobuf/util/json_util.h>
namespace google::protobuf::util

Participantes

bool
add_whitespace
Define se é preciso adicionar espaços, quebras de linha e recuo para facilitar a leitura da saída JSON.
bool
always_print_primitive_fields
Indica se os campos primitivos serão sempre impressos. mais…
bool
always_print_enums_as_ints
Se sempre exibir enumerações como ints. mais…
bool
preserve_proto_field_names
Define se os nomes dos campos do proto serão preservados.
JsonPrintOptions()

bool JsonPrintOptions::always_print_primitive_fields

Indica se os campos primitivos serão sempre impressos.

Por padrão, os campos primitivos do proto3 com valores padrão serão omitidos na saída do JSON. Por exemplo, um campo int32 definido como 0 será omitido. Definir essa sinalização como "true" substituirá o comportamento padrão e imprimirá campos primitivos, independentemente dos valores deles.


bool JsonPrintOptions::always_print_enums_as_ints

Se sempre exibir enumerações como ints.

Por padrão, eles são renderizados como strings.