Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Formateadores JSON

En esta guía, puede aprender a especificar clases de formateador JSON integradas para usar en un conector de origen MongoDB Kafka.

Los formateadores JSON especifican cómo se muestran los datos JSON. Proporcionan instrucciones sobre cómo el conector representa diferentes tipos cuando envía datos.

La siguiente tabla describe las clases de formateadores disponibles en el Source Connector:

clase
Descripción

com.mongodb.kafka.connect.source.json.formatter.DefaultJson

El formateador JSON estricto heredado.

com.mongodb.kafka.connect.source.json.formatter.ExtendedJson

El formateador extendido de JSON totalmente seguro por tipos. Este formateador enfatiza la preservación del tipo y representa la mayoría de los valores con su tipo BSON.

com.mongodb.kafka.connect.source.json.formatter.SimplifiedJson

El formateador JSON simplificado. Este formateador representa los valores ObjectId, Decimal, Date y Binary como cadenas.

La siguiente tabla describe los campos del documento de muestra que los ejemplos de esta guía utilizan para demostrar cada formato de salida. Las columnas describen el nombre del campo, el valor y el tipo de cada campo o campo anidado.

Nombre
Valor
Tipo

_id

"5f15aab12435743f9bd126a4"

ObjectID ($oid)

w

[ 12345.6789, 23.53 ]
Array of:
- Decimal128 ($numberDecimal)
- Double ($numberDouble)

x

"SSBsb3ZlIGZvcm1hdHRpbmch" of type "00"

Binary ($binary)

y

"2023-05-11T08:27:07.000Z"

Date ($date)

z

{ a: false, b: 87, c: "hello world" }
Document with fields:
- a: Boolean
- b: Int32 ($numberInt)
- c: String

En las propiedades de configuración de su conector de origen, configure la siguiente propiedad para especificar el formateador JSON predeterminado:

"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.DefaultJson"

Cuando se exporta el contenido del documento de muestra desde el tema de Kafka, la salida muestra las siguientes representaciones de tipo:

  • ObjectId valor con su tipo BSON

  • Decimal valor con su tipo BSON

  • Binary valor con su string de búfer y tipo binario

  • Date valor como milisegundos desde la Unix epoch

{
"_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"}
}

En las propiedades de configuración de tu conector de origen, configura la siguiente propiedad para especificar el formateador extendido de JSON:

"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.ExtendedJson"

Cuando se exporta el contenido del documento de muestra desde el tema de Kafka, la salida muestra las siguientes representaciones de tipo:

  • ObjectId valor con su tipo BSON

  • Decimal valor con su tipo BSON

  • Double valor con su tipo BSON

  • Binary valor con su string de búfer y tipo binario

  • Date valor como milisegundos desde la Unix epoch

  • Int32 valor con su 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"}
}

En las propiedades de configuración de tu conector de origen, establece la siguiente propiedad para especificar el formateador simplificado de JSON:

"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.SimplifiedJson"

Cuando se exporta el contenido del documento de muestra desde el tema de Kafka, la salida muestra las siguientes representaciones de tipo:

  • ObjectId valor como su string hexadecimal

  • Decimal valor como una cadena

  • Binary valor como su string de búfer

  • Date valor como una cadena

{
"_id": "5f15aab12435743f9bd126a4",
"w": ["12345.6789", 23.53],
"x": "SSBsb3ZlIGZvcm1hdHRpbmch",
"y": "2023-05-11T08:27:07Z",
"z": {"a": false, "b": 87, "c": "hello world"}
}

Volver

Aplicar esquemas

En esta página