|
|

需求:在 AI 大模型化时代的浪潮下,各行各业都在接入 AI 人工智能,让 AI 帮助我们分析数据,有些是通过编程语言程序化调用,我们想让 AI 大模型输出 JSON 结构化的数据,如何验证 AI 模型输出的 json 字符串是否符合我们的面向对象定义的类型呢?
JsonSchema.Net
有时您可能需要验证 JSON 对象是否格式正确(具有正确的键和值类型),或者您可能希望为数据添加注释。这时,JSON Schema 就派上用场了。与 XML 的 XML Schema 类似,JSON Schema 为 JSON 数据定义了一种模式。JSON Schema 验证器可以验证给定的 JSON 对象是否符合 JSON Schema 定义的要求,并向应用程序提供有关数据的附加信息。此评估可以作为反序列化之前的预处理步骤,非常有用。
源码:超链接登录可见。
文档:超链接登录可见。
目前已知有六个版本的 JSON Schema 规范在使用:
- Draft 3
- Draft 4
- Draft 6
- Draft 7
- Draft 2019-09
- Draft 2020-12
JSON Schema 团队建议使用草案 7 或 2020-12。JsonSchema.Net支持草案 6 及更高版本。
基础教程
我们定义一个人员的对象,然后来生成 Schema,代码如下:
输出如下:
{
"type": [
"object",
"null"
],
"properties": {
"Name": {
"type": [
"string",
"null"
]
},
"Email": {
"type": [
"string",
"null"
]
},
"Age": {
"type": "integer"
},
"Address": {
"type": [
"array",
"null"
],
"items": {
"type": [
"object",
"null"
],
"properties": {
"Location": {
"type": [
"string",
"null"
]
},
"ZipCode": {
"type": "integer"
}
},
"required": [
"Location",
"ZipCode"
]
}
}
},
"required": [
"Name",
"Email",
"Age",
"Address"
]
} 使用 JsonSchema 验证 json 字符串是否符合对象结构,代码如下:
如下图:
使用构建器模式,代码如下:
(完) |
上一篇:LINQPad 9 开启 Web 服务(ASP.NET Core)教程
|