Formatadores JSON
Nesta página
Visão geral
Neste guia, você pode aprender como especificar JSON classes de formatador incorporadas para usar em um MongoDB Kafka de origem connector.
Formatadores JSON
Os formatadores JSON especificam como os dados JSON aparecem. Elas fornecem instruções sobre como o connector representa tipos diferentes ao gerar dados.
Formatadores integrados
A tabela a seguir descreve as classes de formatador disponíveis no connector de origem:
classe | Descrição |
---|---|
com.mongodb.kafka.connect.source.json.formatter.DefaultJson | O formatador JSON rigoroso legado. |
com.mongodb.kafka.connect.source.json.formatter.ExtendedJson | O formatador JSON estendido totalmente seguro de tipo. Este formatador enfatiza a preservação do tipo e representa a maioria dos valores com seu tipo BSON. |
com.mongodb.kafka.connect.source.json.formatter.SimplifiedJson | O formatador JSON simplificado. Este formatador representa valores ObjectId , Decimal , Date e Binary como strings. |
Exemplos
A tabela abaixo descreve os campos do documento de amostra que os exemplos deste guia usam para demonstrar cada formato de saída. As colunas descrevem o nome do campo, valor e tipo para cada campo ou campo aninhado.
Nome | Valor | Tipo | |
---|---|---|---|
_id |
| ObjectID ($oid ) | |
w |
| Array of: - Decimal128 ($numberDecimal )- Double ($numberDouble ) | |
x |
| Binary ($binary ) | |
y |
| Date ($date ) | |
z |
| Document with fields: - a : Boolean - b : Int32 ($numberInt )- c : String |
Formatador JSON padrão
Nas propriedades de configuração do connector de origem, defina a seguinte propriedade para especificar o formatador JSON padrão:
"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.DefaultJson"
Quando você gera o conteúdo do documento de amostra do tópico do Kafka, a saída mostra as seguintes representações de tipo:
ObjectId
valor com seu tipo BSONDecimal
valor com seu tipo BSONBinary
valor com sua string de buffer e tipo binárioDate
valor em milissegundos desde a época UNIX
{ "_id": {"$oid": "5f15aab12435743f9bd126a4"}, "w": [{"$numberDecimal": "12345.6789"}, 23.53], "x": {"$binary": "SSBsb3ZlIGZvcm1hdHRpbmch", "$type": "00"}, "y": {"$date": 1683793627000}, "z": {"a": false, "b": 87, "c": "hello world"} }
Formatador de JSON estendido
Nas propriedades de configuração do connector de origem, defina a seguinte propriedade para especificar o formatador JSON estendido:
"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.ExtendedJson"
Quando você gera o conteúdo do documento de amostra do tópico do Kafka, a saída mostra as seguintes representações de tipo:
ObjectId
valor com seu tipo BSONDecimal
valor com seu tipo BSONDouble
valor com seu tipo BSONBinary
valor com sua string de buffer e tipo binárioDate
valor em milissegundos desde a época UNIXInt32
valor com seu tipo BSON
{ "_id": {"$oid": "5f15aab12435743f9bd126a4"}, "w": [{"$numberDecimal": "12345.6789"}, {"$numberDouble": "23.53"}], "x": {"$binary": "SSBsb3ZlIGZvcm1hdHRpbmch", "$type": "00"}, "y": {"$date": 1683793627000}, "z": {"a": false, "b": {"$numberInt": "87"}, "c": "hello world"} }
Formatador JSON simplificado
Nas propriedades de configuração do connector de origem, defina a seguinte propriedade para especificar o formatador JSON simplificado:
"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.SimplifiedJson"
Quando você gera o conteúdo do documento de amostra do tópico do Kafka, a saída mostra as seguintes representações de tipo:
ObjectId
valor como sua string hexadecimalDecimal
valor como uma stringBinary
valor como sua string de bufferDate
valor como uma string
{ "_id": "5f15aab12435743f9bd126a4", "w": ["12345.6789", 23.53], "x": "SSBsb3ZlIGZvcm1hdHRpbmch", "y": "2023-05-11T08:27:07Z", "z": {"a": false, "b": 87, "c": "hello world"} }