gpt4 book ai didi

arrays - 如何在 JSON Schema 中制作二维数组?

转载 作者:行者123 更新时间:2023-12-04 18:43:21 30 4
gpt4 key购买 nike

你会如何在 JSON schema 中编写以下二维数组?网格固定为 16*13。它包含完全空的行或具有 int(0-99) 或空字符串等值的行。

下面是一个数组的例子:

[  
[],
[],
[],
[],
[],
[],
['','','','',94,78,37,78,'','','',61,71],
[42,82,53,62,65,47,65,77,26,93,69,69,51],
[38,07,47,06,87,90,21,41,50,24,55,45,24],
[55,69,'','','',83,04,90,34,88,99,28,71],
[11,08,91,62,'','','','',36,53,57,76,65],
[21,85,34,62,'','','','',76,67,20,77,85],
[72,73,34,26,'','','','',37,22,49,89,26],
[84,11,19,84,34,53,19,08,10,12,31,62,24],
[36,94,43,27,71,30,86,96,37,45,19,60,50],
[31,05,27,74,10,33,22,07,03,77,82,23,50]
]

我想知道在没有数百个 LOC 的情况下写这个的最佳方法是什么...

提前致谢!

最佳答案

好的,让我们分部分构建它。

首先,网格中的单个条目,一个空字符串或一个整数。

{
"oneOf": [
{
"enum": [""]
},
{
"type": "integer",
"minimum": 0,
"maximum": 99
}
]
}

接下来,让我们定义一行 - 这可以是空的,或者正好是 13 个项目长:
{
"type": "array",
"items": {"$ref": "#/definitions/gridCell"},
"oneOf": [
{"enum": [[]]}, // Alternatively: {"maxItems": 0}
{"minItems": 13, "maxItems": 13}
]
}

现在,我们只想要一个由 16 个组成的数组:
{
"type": "array",
"items": {"$ref": "#/definitions/gridRow"},
"minItems": 16,
"maxItems": 16,
"definitions": {
"gridCell": { ... schema from step #1 ... },
"gridRow": { ... schema from step #2 ... }
}
}

关于arrays - 如何在 JSON Schema 中制作二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19793146/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com