文档菜单
文档首页
/
MongoDB Kafka 连接器
/ /

JSON 格式化器

在本页

  • 概述
  • JSON 格式化器
  • 内置格式化程序
  • 示例
  • 默认JSON格式化程序
  • 扩展JSON格式化程序
  • 简化JSON格式化程序

在本指南中,您可以了解如何指定用于MongoDB Kafka源连接器的内置JSON格式化程序类。

JSON格式化程序指定JSON数据的外观。它们提供连接器在输出数据时如何表示不同类型的说明。

以下表格描述了源连接器中可用的格式化程序类

描述
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格式化器。此格式化器将ObjectId、Decimal、Date和Binary值表示为字符串。

以下表格描述了本指南中示例使用的示例文档的字段,各列描述了每个字段或嵌套字段的字段名、值和类型。

名称
类型
_id
"5f15aab12435743f9bd126a4"
ObjectID ($oid)
w
[ 12345.6789, 23.53 ]
数组
- 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" }
带有字段的文档
- a: Boolean
- b: Int32 ($numberInt)
- c: String

在您的源连接器的配置属性中,设置以下属性以指定默认JSON格式化器

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

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

  • 具有其BSON类型的ObjectId值

  • 具有其BSON类型的Decimal值

  • 具有其缓冲字符串和二进制类型的Binary值

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

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

在源连接器的配置属性中,设置以下属性以指定扩展JSON格式化工具

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

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

  • 具有其BSON类型的ObjectId值

  • 具有其BSON类型的Decimal值

  • Double值及其BSON类型

  • 具有其缓冲字符串和二进制类型的Binary值

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

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

在源连接器的配置属性中,设置以下属性以指定简化JSON格式化工具

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

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

  • ObjectId值作为其十六进制字符串

  • Decimal值作为字符串

  • Binary值作为其缓冲字符串

  • Date值作为字符串

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

返回

应用模式