You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中创建Google.Cloud.AIPlatform.V1.OpenApiSchema以表示含指定属性的对象数组

如何在C#中创建Google.Cloud.AIPlatform.V1.OpenApiSchema以表示含指定属性的对象数组

我太懂这种卡壳的感觉了——刚开始用Google Cloud这个OpenApiSchema类型的时候,确实容易忽略掉定义对象属性的关键入口。你之前的代码已经走对了一半:先把数组类型Schema的Type设为Array,Items指定为Object类型,但差了最关键的一步:用Properties字典来定义对象的各个字段。

直接给你补全并优化后的代码,完全符合你要的“2个字符串属性+5个整数属性的对象数组”需求:

using System.Collections.Generic;
using Google.Cloud.AIPlatform.V1;

// 构建对象数组的OpenApiSchema
OpenApiSchema arraySchema = new()
{
    Type = Type.Array,
    Items = new OpenApiSchema
    {
        Type = Type.Object,
        // 核心在这里:用Properties字典定义对象的所有属性
        Properties = new Dictionary<string, OpenApiSchema>
        {
            // 定义两个字符串类型属性
            ["username"] = new OpenApiSchema { Type = Type.String },
            ["description"] = new OpenApiSchema { Type = Type.String },
            
            // 定义五个整数类型属性
            ["age"] = new OpenApiSchema { Type = Type.Integer },
            ["score1"] = new OpenApiSchema { Type = Type.Integer },
            ["score2"] = new OpenApiSchema { Type = Type.Integer },
            ["score3"] = new OpenApiSchema { Type = Type.Integer },
            ["total"] = new OpenApiSchema { Type = Type.Integer }
        },
        // 可选:如果需要某些属性必填,就把属性名加到Required集合里
        Required = { "username", "age" }
    }
};

简单捋下关键点:

  • Properties是Dictionary<string, OpenApiSchema>类型,键就是你想要的属性名称,值对应该属性的Schema定义——字符串就设Type = Type.String,整数就设Type = Type.Integer。
  • 我额外加了Required属性的示例,要是你不需要可以直接删掉;如果需要强制某些字段必须存在,就把字段名填进去就行。

这样定义出来的Schema,就完全符合你要的“包含指定属性的对象数组”结构了,你可以直接拿去用~

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 12:39:50