我想知道如何为不同对象的数组指定JSON模式。这个线程给了我一半的答案,但当我有每种类型的对象的多个实例时,它就失败了。
下面是一个基于这里给出的示例的示例XML,但是重复了“product”对象:-
{
"things": [
{
"entityType" : "Product",
"name" : "Pepsi Cola",
"brand" : "pepsi"
},
{
"entityType" : "Product",
"name" : "Coca Cola",
"brand" : "coke"
},
{
"entityType" : "Brand",
"name" : "Pepsi Cola"
}
]
}
下面的模式将只在每种类型都有单个实例时(例如,如果“product”只出现一次)验证上面的XML。
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "https://schemas.example.com/things",
"title": "Things",
"description": "Some things",
"type": "object",
"required": [
"things"
],
"properties": {
"things": {
"type": "array",
"items": [
{
"type": "object",
"required": [
"entityType",
"name"
],
"properties": {
"entityType": {
"type": "string",
"enum": [
"Product"
]
},
"name": {
"type": "string"
},
"brand": {
"type": "string"
}
}
},
{
"type": "object",
"required": [
"entityType",
"name"
],
"properties": {
"entityType": {
"type": "string",
"enum": [
"Brand"
]
},
"name": {
"type": "string"
}
}
}
]
}
},
"additionalProperties": false
}
为了增加娱乐性,我不能使用像“anyof”这样的关键字,因为我要将这个模式嵌入到一个Swagger2.0文档中,而这些关键字不受支持。
谢谢,
如果没有,你就倒霉了。您所能做的最好是使用一个涵盖所有选项的模式。这不是一个很好的解决方案,但总比没有好。
我有一个以以下格式返回json对象的响应: 我有一个Java类: 我想使用GSON将JSON对象映射到Java对象。 我尝试使用反序列化,它返回了JSON中嵌套值的。
使用JSON Schema 7执行验证 是否可以使用json模式进行以下验证。 object 中的“prop” 属性是属性中的依赖值。 即只有“properties.name”存在,那么该值可以添加到“prop”数组中 注意: “属性”数组可以具有{name:}类型的任何对象 “name”可以有任何可能的字符串,我事先不知道 我一直在查阅文件,但能找到一个答案。 Json Schema中还不支持此
问题内容: 如何使用Gson解析此JSON?我有一个具有多个对象类型的数组,但我不知道需要创建哪种对象来保存此结构。我无法更改json消息(我无法控制服务器)。 唯一起作用的类是 JSON消息 (请注意具有多个对象类型的数组。) 问题答案: 《 Gson用户指南》明确涵盖了以下内容: https://sites.google.com/site/gson/gson-user-guide#TOC-Se
我有一个无序的JSON项数组。根据https://datatracker.ietf.org/doc/html/draft-zyp-json-schema-03#section-5.5规范,下面的json模式只有在数组中的对象以该顺序出现时才进行验证。我不想指定顺序,只需验证数组中的对象,而不管对象的顺序或数量如何。从规范中我似乎无法理解这是如何做到的。
我将json传递给ObjectMapper。JSON字符串如下所示: 我的类如下所示: 这种行为是意料之中的吗?如果是,有什么解决办法? 更新:添加了类描述。
假设我有一个数据帧,如下所示: 我想在时间分组一个重复的数据,并应用不同的函数到和(例如,求和和计算卷加权平均值)...我知道我能做到 将重复索引分组,然后使用或函数获取第一行或最后一行,但这并不是我真正想要的。 是否有方法对不同列中的值进行分组,然后应用不同的(由我编写的)函数?