如何在MSON中为数组指定多个可能的类型(类型union)?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在MSON中为数组指定多个可能的类型(类型union)?相关的知识,希望对你有一定的参考价值。

我正在努力描述我需要的东西,但我花了一些时间浏览MSON规范并没有找到任何东西。

这个例子有点做作,但希望意图清楚。

# Animal (object)

This is a base class for all animals. It provides some common structure.

## Properties
 ... some properties

# Bird (Animal)

## Properties
 ... some properties

# Fish (Animal)

## Properties
 ... some properties

# Farm (Object)

## Properties
 + animals (array[Animal], fixed-type)

我想表达的是,农场可以包含各种动物但不包含基类。有没有办法在MSON / JSON Schema中表达它以便验证?实际上,我希望有一个选择或类型鸟和鱼联合。我不介意明确地写出这些类。

非常感谢。

答案

既然你可以明确地写出类,我认为这可以通过写出数组接受的类型(这些都恰好是Animal的子类)来完成。

+ animals (array[Fish, Bird], fixed-type)

以上是关于如何在MSON中为数组指定多个可能的类型(类型union)?的主要内容,如果未能解决你的问题,请参考以下文章

如何在类型定义中为 GraphQL 字段定义数组数据类型

如何在 Java8 中为 void(非 Void)方法指定函数类型?

如何在django中为问题添加多个表单字段类型的选项?

我应该如何释放类型映射中为 argout 结构数组分配的内存?

如何在 SonarLint 中为 PascalCase 命名规则指定例外

如何存储多个数据类型的数组