Docs 菜单
Docs 主页
/
MongoDB Kafka Connector
/ /

JSON 格式化程序

在此页面上

  • Overview
  • JSON 格式化程序
  • 内置格式化程序
  • 示例
  • 默认 JSON 格式化程序
  • 扩展 JSON 格式化程序
  • 简化的 JSON 格式化程序

在本指南中,您可以了解如何指定要在JSON MongoDBKafka源 中使用的内置connector 格式化程序类。

JSON 格式化程序指定 JSON 数据的显示方式。 它们说明connector在输出数据时如何表示不同类型。

下表描述了源connector中可用的格式化程序类:

说明
com.mongodb.kafka.connect.source.json.formatter.DefaultJson
传统的严格 JSON 格式化程序。
com.mongodb.kafka.connect.source.json.formatter.ExtendedJson
完全类型安全的扩展 JSON 格式化程序。 此格式化程序强调类型保留,并用 BSON 类型表示大多数值。
com.mongodb.kafka.connect.source.json.formatter.SimplifiedJson
简化的 JSON 格式化程序。 此格式化程序将ObjectIdDecimalDateBinary值表示为字符串。

下表描述了本指南中的示例用于演示每种输出格式的示例文档的字段。 这些列描述了每个字段或嵌套字段的字段名称、值和类型。

名称
类型
_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

在源connector的配置属性中,设置以下属性以指定默认的JSON格式化程序:

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

当您从 Kafka 主题输出样本文档内容时,输出会显示以下类型表示:

  • ObjectId 值及其 BSON 类型

  • Decimal 值及其 BSON 类型

  • Binary 值及其缓冲区string和二进制类型

  • Date 自 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"}
}

在源connector的配置属性中,设置以下属性以指定扩展JSON格式化程序:

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

当您从 Kafka 主题输出样本文档内容时,输出会显示以下类型表示:

  • ObjectId 值及其 BSON 类型

  • Decimal 值及其 BSON 类型

  • Double 值及其 BSON 类型

  • Binary 值及其缓冲区string和二进制类型

  • Date 自 UNIX 纪元以来的毫秒值

  • Int32 值及其 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"}
}

在源connector的配置属性中,设置以下属性以指定简化的JSON格式化程序:

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

当您从 Kafka 主题输出样本文档内容时,输出会显示以下类型表示:

  • ObjectId 十六进制string形式的值

  • Decimal string形式的值

  • Binary 值作为其缓冲区string

  • Date string形式的值

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

后退

应用模式