gpt4 book ai didi

java - 如何在 Java 中以编程方式从 Json Schema 生成 json 数据

转载 作者:行者123 更新时间:2023-12-01 18:05:01 32 4
gpt4 key购买 nike

我正在尝试为我的 POST Api 创建 Body-parameter(JSON),这是一个 JSON 请求。我所拥有的只是 JSON Schema 。我正在尝试列出一系列不同的 JSON 测试数据,涵盖其正流和负流。

是否有任何选项可以使用 Java 以编程方式生成/创建 JSON 数据? 。我附加了一个小的 Json 模式(只是为了理解目的),但我的实际模式更复杂,有很多 Array 和 Nested Json 。

我的 Json 架构:

{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "http://example.com/example.json",
"type": "object",
"title": "The Root Schema",
"description": "The root schema comprises the entire JSON document.",
"required": [
"FirstName",
"LastName",
"Age",
"Interest"
],
"properties": {
"FirstName": {
"$id": "#/properties/FirstName",
"type": "string",
"title": "The Firstname Schema",
"description": "An explanation about the purpose of this instance.",
"default": "",
"examples": [
"Vijay"
]
},
"LastName": {
"$id": "#/properties/LastName",
"type": "string",
"title": "The Lastname Schema",
"description": "An explanation about the purpose of this instance.",
"default": "",
"examples": [
"Karthik"
]
},
"Age": {
"$id": "#/properties/Age",
"type": "integer",
"title": "The Age Schema",
"description": "An explanation about the purpose of this instance.",
"default": 0,
"examples": [
30
]
},
"Interest": {
"$id": "#/properties/Interest",
"type": "array",
"title": "The Interest Schema",
"description": "An explanation about the purpose of this instance.",
"default": [],
"items": {
"$id": "#/properties/Interest/items",
"type": "string",
"title": "The Items Schema",
"description": "An explanation about the purpose of this instance.",
"default": "",
"examples": [
"Food",
"movie",
"Learning",
"VideoGames"
]
}
}
}

}在此处输入代码

我的测试数据看起来像:

 {
"FirstName":"Vivi",
"LastName":"Karrri",
"Age":30,
"Interest":["Food","movie","Learning","VideoGames"]
}

有什么建议我们可以如何实现这一目标吗?注意:我正在使用 Springboot,并且我有完整的 POJO 用于请求对象

最佳答案

您可以生成假的 java 对象,然后将它们映射到 JSON。

POJO

如果您已经有与架构匹配的 POJO,那么我们可以跳过此步骤。如果没有,要从模式生成 POJO,例如可以使用此库: jsonschema2pojo .

虚假对象

可以使用特殊的库来生成具有虚假数据的对象,其中列出了其中一些:

生成 JSON

这非常简单,可以用 Jackson 来完成:

ObjectMapper objectMapper = new ObjectMapper();
ObjectWriter prettyPrinter = objectMapper.writerWithDefaultPrettyPrinter();
String json = prettyPrinter.writeValueAsString(yourFakeObject);

关于java - 如何在 Java 中以编程方式从 Json Schema 生成 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60572396/

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