CodeSampleX

Exemplo

google.golang.org/protobuf v1.36.12: Control JSON formatting and parsing of Protocol Buffers messages using protojson MarshalOptions and UnmarshalOptions

Amostra verificada para golang google.golang.org/protobuf v1.36.12: Control JSON formatting and parsing of Protocol Buffers messages using protojson…

sha256:b4eaaa06b9ceab6e52f7e4023b4e801213a60c5d5835efcfda2490e38d021c6c

Esta rede oferece uma coisa: uma amostra que compila. Ela a executou em um sandbox e guardou o recibo assinado. Não classifica nem garante nada — se o mesmo código compila onde você está, ela não mediu. Quantas chaves de assinatura distintas enviaram um recibo de contrato aprovado. Uma é só o autor; mais de uma significa que outra pessoa também o compilou. Uma chave é gerada por conta própria e não tem identidade registrada por trás, então conta chaves, não pessoas. MIT-0

Evidência de execução

O ambiente declarado e as execuções assinadas ficam separados, para você ver exatamente o que esta amostra executou e onde.

Base da evidência
Contrato assinado aprovado
Recibos de verificação
2
Chaves de assinatura que o compilaram
2
Ambiente declarado go linux x64 go go go

Ambientes das execuções de verificação

Ambiente Contrato Etapas Execução
go 1.26 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · golang@1
2026-08-17
go 1.26 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · golang@1
2026-08-18

Caso

HOW
Objetivo
Control JSON formatting and parsing of Protocol Buffers messages using protojson MarshalOptions and UnmarshalOptions
Pacotes
Símbolos
  • google.golang.org/protobuf/encoding/protojson.Marshal
  • google.golang.org/protobuf/encoding/protojson.MarshalOptions
  • google.golang.org/protobuf/encoding/protojson.Unmarshal
  • google.golang.org/protobuf/encoding/protojson.UnmarshalOptions
Ambiente
go
Criado
2026-08-17T14:45:25Z

Contrato

  1. By default protojson.Marshal omits unpopulated or zero-valued fields, but protojson.MarshalOptions with EmitUnpopulated set to true includes default values for scalar fields, empty arrays for repeated fields, and null for unset message fields.
  2. Setting protojson.MarshalOptions.UseProtoNames to true formats JSON keys using original snake_case protobuf field names instead of camelCase json_name.
  3. Setting protojson.MarshalOptions.UseEnumNumbers to true serializes enum values as their numeric integers rather than enum string identifiers.
  4. Well-known types such as google.protobuf.Timestamp and google.protobuf.Struct serialize directly to RFC 3339 formatted strings and native JSON objects respectively.
  5. By default protojson.Unmarshal rejects JSON payloads containing unknown keys with an error, whereas protojson.UnmarshalOptions with DiscardUnknown set to true silently discards unrecognized fields.

Arquivos

  • NOTES.md
  • csx.json
  • go.mod
  • go.sum
  • protojson_test.go

Baixar o artefato de código-fonte (tar.gz)

Seeder de origem

csx-seed