向现有 json 模式添加额外字段并即时生成 c# 类
Posted
技术标签:
【中文标题】向现有 json 模式添加额外字段并即时生成 c# 类【英文标题】:Add extra fields to existing json schema and generate c# class on fly 【发布时间】:2021-12-16 17:27:56 【问题描述】:我正在尝试在新的 json 模式文件中找到将额外字段添加到现有 json 模式的解决方案,并在 github 管道中生成它们,项目可以使用它们。但我不知道该怎么做。例如,下面的现有架构:
type: 'object',
required: [ 'product' ],
additionalProperties: false,
properties:
productName:
enum: [ 'product1', 'product2', 'product3' ],
,
price: type: 'int' ,
,
;
但是知道我想在附加 json 的属性中添加更多字段,我该怎么做?例如我现在需要product quantity
,所以我可以编译两个json模式并形成一个完整的类。也可以从其他模式中引用定义,或者我总是必须分别定义它们。
如果您能帮助我,非常感谢。
【问题讨论】:
【参考方案1】:我使用 js 和 Lodash 将两个方案文件合并为一个,它就像魔术一样。
const _ = require("lodash");
const schema = require('./schema.json');
const extention = require("./extentions.json", 'utf-8');
var newschema = _.merge(schema, extention);
const fs = require('fs')
fs.writeFile("./newschema.json", JSON.stringify(newschema, null, 4), (err) =>
if (err) throw err;
);
【讨论】:
以上是关于向现有 json 模式添加额外字段并即时生成 c# 类的主要内容,如果未能解决你的问题,请参考以下文章