我有一个无序的JSON项数组。根据https://datatracker.ietf.org/doc/html/draft-zyp-json-schema-03#section-5.5规范,下面的json模式只有在数组中的对象以该顺序出现时才进行验证。我不想指定顺序,只需验证数组中的对象,而不管对象的顺序或数量如何。从规范中我似乎无法理解这是如何做到的。
"transactions" : {
"type" : "array",
"items" : [
{
"type" : "object",
"properties" : {
"type" : {
"type" : "string",
"enum" : ["BUILD", "REASSIGN"]
}
}
},
{
"type" : "object",
"properties" : {
"type" : {
"type" : "string",
"enum" : ["BREAK"]
}
}
}
]
}
我在JSON schema google group上问了同样的问题,很快就得到了回答。用户fge要求我在这里发布他的回应:
你好,
当前的规范是草案v4,而不是草案V3。更具体地说,验证规范如下所示:
{
"type": "array",
"items": {
"oneOf": [
{"first": [ "schema", "here" ] },
{"other": [ "schema": "here" ] }
]
}
}
{
"type": "array",
"items": {
"oneOf": [
{"type": "string"},
{"type": "integer"}
]
}
}
"transactions" : {
"type" : "array",
"items" : {
"oneOf" : [
{
"type" : "object",
"properties" : {
"type" : {
"type" : "string",
"enum" : ["BUILD", "REASSIGN"]
}
}
},
{
"type" : "object",
"properties" : {
"type" : {
"type" : "string",
"enum" : ["BREAK"]
}
}
}
]
}
}
问题内容: 我有一个JSON项目的无序数组。根据规范http://tools.ietf.org/html/draft-zyp-json- schema-03#section-5.5 ,下面的json模式仅在数组中的对象出现在那个顺序中时才会验证。我不想指定顺序,只验证数组中的对象,而不管对象的顺序或数量如何。从规范我似乎无法理解如何完成此工作。 问题答案: 我在JSON模式Google组上问了同样
问题内容: 只要我有键值对,解组就非常简单了,但是我将如何以不同的顺序解组不同类型的数组呢?单个元素定义明确且已知,但顺序不明确。 我无法提出一个漂亮的解决方案。 我会尝试对所有元素进行错误处理吗?是否有某种工会类型可以为我做到这一点? 游乐场版 问题答案: Go官方博客上有一篇不错的文章:JSON和GO。可以将“任意数据解码”到接口{}中,并使用类型断言来动态确定类型。 您的代码可能可以修改为:
我想知道如何为不同对象的数组指定JSON模式。这个线程给了我一半的答案,但当我有每种类型的对象的多个实例时,它就失败了。 下面是一个基于这里给出的示例的示例XML,但是重复了“product”对象:- 下面的模式将只在每种类型都有单个实例时(例如,如果“product”只出现一次)验证上面的XML。 为了增加娱乐性,我不能使用像“anyof”这样的关键字,因为我要将这个模式嵌入到一个Swagger
问题内容: 例如: 因为json数组被解码为go数组,并且go数组需要显式定义类型,所以我不知道如何处理它。 问题答案: 首先,json无效,对象必须具有键,因此它应该类似于或just 。 而当您处理多种随机类型时,只需使用即可。
问题内容: 我在mongodb中有一个字符串字段。,我想将它们全部转换成数组。 我知道我可以遍历所有文档,获取字段,然后更新,但是我想知道是否有更清洁的方法。 谢谢。 问题答案: 您可以在map / reduce的Reduce函数中进行此操作,以将所有处理保留在mongodb中。本质上,您将使用map / reduce将结果放入新集合中,然后可以将其复制回旧集合(或删除旧集合并重命名新集合)。这具
问题内容: 如何使用Gson解析此JSON?我有一个具有多个对象类型的数组,但我不知道需要创建哪种对象来保存此结构。我无法更改json消息(我无法控制服务器)。 唯一起作用的类是 JSON消息 (请注意具有多个对象类型的数组。) 问题答案: 《 Gson用户指南》明确涵盖了以下内容: https://sites.google.com/site/gson/gson-user-guide#TOC-Se