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

使用NJsonSchema转JSON Schema为C#模型时触发InvalidCastException异常

JSON Schema转C#模型时InvalidCastException问题解决

你遇到的System.InvalidCastException是因为**CSharpGenerator的构造函数需要接收JsonSchema类型的对象,而不是原始的JSON字符串**,直接传入字符串会导致类型转换失败。

修正步骤:

  1. 先将JSON Schema字符串解析为JsonSchema对象
  2. 再用解析后的对象初始化CSharpGenerator

修正后的完整代码:

using NJsonSchema;
using NJsonSchema.CodeGeneration.CSharp;

var schemaStr = """{"$schema":"http://json-schema.org/draft-04/schema#","title":"Person","type":"object","additionalProperties":false,"required":["FirstName","LastName"],"properties":{"FirstName":{"type":"string"},"LastName":{"type":"string"}},"definitions":{}}""";

// 将JSON字符串解析为JsonSchema对象
var schema = JsonSchema.Parse(schemaStr);

// 使用JsonSchema对象创建生成器
var generator = new CSharpGenerator(schema);
var file = generator.GenerateFile("mytest");

Console.WriteLine(file);
Console.ReadLine();

补充说明:

  • 如果是异步场景,也可以使用await JsonSchema.FromJsonAsync(schemaStr)来解析
  • 确保已正确安装NJsonSchema和NJsonSchema.CodeGeneration.CSharp这两个NuGet包

内容的提问来源于stack exchange,提问作者lonelydev101

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 17:05:14