#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 arquivoEssas 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)
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)
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)
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)
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.