我是 Avro 新手,正在尝试定义一个架构。想知道我是否尝试将值默认为 null,应该是:
A。“默认”:空
b. “默认”:“空”
数据类型是什么重要吗?就像 int 一样,默认值将是“default”:null,但是当它是字符串时,默认值应该是“default”:“null”?或者没关系?
要将值默认为 null,您必须指定"default": null。有关每种类型的示例值,请参阅规范的复杂类型部分中的表。
数据类型是什么重要吗?
是的,类型很重要。正如您在规范的“基本类型”部分中看到的,null是它自己的类型。您不能将int、string或任何其他基本类型设置为null。
如果您想要一个“可为空”字段,请使用Unions。例如:
{ "type": ["null", "int"], "default": null }
Run Code Online (Sandbox Code Playgroud)
这表明该数据可以是 aint也可以是 a null。它默认为null. 指定联合的默认值时,请记住默认值必须与联合中的第一个类型匹配。
从规格来看:
(注意,当为联合类型的记录字段指定默认值时,默认值的类型必须与联合的第一个元素匹配。因此,对于包含“null”的联合,通常会列出“null”首先,因为此类联合的默认值通常为 null。)
| 归档时间: |
|
| 查看次数: |
14220 次 |
| 最近记录: |