当前位置: 首页 > 面试题库 >

如何引用作为顶级数组的json模式

丁淇
2023-03-14
问题内容

我有一个包含项目列表的JSON文件。存储在此文件中的唯一东西是作为数组的项目。例如:

[
    {...},
    {...},
    {...},
]

我想为此定义一个架构文件。这看起来很好,因为可以将初始类型设置为数组,并且我可以将项目定义为类型。但是我想引用项目json文件中的架构。不幸的是,它不是一个对象,因此我无法添加"$schema"密钥。我当然可以使json一个对象只有一个具有数组值的键,但这似乎不是一个好的设计。

模式系统似乎存在设计错误,还是不支持顶级数组json?


问题答案:

我认为您可能已经假设$schema根据JSON Schema 放入JSON数据具有任何意义。

但是我想引用项目json文件中的架构。

赋予它的任何含义都不来自JSON Schema规范。

$schema在JSON模式中使用。该规范未定义任何方法来允许JSON文档标识为应符合模式的方法。

有一种可以使用HTTP标头的方法,仅此而已。



 类似资料:
  • 有可能用json. Decoder解码顶级JSON数组吗? 或者阅读整个JSON和JSON。在这种情况下,解组是唯一的方法吗? 我已经阅读了这个问题中公认的答案,不知道如何将其与顶级JSON数组一起使用

  • 问题内容: 我有一些从Web服务返回的JSON数据。JSON是顶级数组: 使用make 可以对数组中包含的数据进行反序列化,但是,我无法让Serde对顶级数组进行反序列化。 我是否缺少某些内容,还是Serde不能对顶级数组进行反序列化? 问题答案: 您可以使用:

  • 问题内容: 根据这篇文章中的辩论:[json-conversion-in- javascript] 结果对我来说是这样的: 就我所见,这很好。它可能看起来有些怪异,但这主要是因为JSON在对象中使用了很多,它们的符号略有不同。您可以评估字符串并返回数组结构,所以对我来说很好。 问题答案: 是的,数组作为顶级JSON文本是合法的。 有三个定义JSON的标准文档:RFC 4627,RFC 7159 (

  • 问题内容: 我想制作一个ExpandableListView,它从服务器(JSON数组)的响应中为其组及其子级获取数据。这是我的json: “ alamat”和“ nama”将成为组,“ begdate”和“ enddate”将成为其子项。我从这里开始按照以下教程操作:http://en.wikicode.org/index.php/Custom_ExpandableListView,但是当我实现

  • 我正在用Protobuf在golang写一个新的服务。我想在.proto文件中对以下请求JSON建模。 目前存在两个问题: 每个数组元素中的键事先是不知道的,因此我不能在.proto文件中创建消息并重复它。我需要保持它的映射 我无法对json建模,因为它只是一个没有键的数组。每次执行此操作时,都会显示以下错误:解码请求失败:JSON:无法将数组反编入Go值 以下是我的.proto文件: 我尝试过使

  • 问题内容: 在下面的视频中,Microsoft PDC演示者在时间标记21:40处说,包装所有JSON以使其不是顶级数组很重要: https://channel9.msdn.com/Events/PDC/PDC09/FT12 解开顶层阵列的风险是什么? 我应该如何检查并确定自己是否脆弱?我从第三方购买了许多组件,并且有外部厂商来开发我的代码。 问题答案: 微软之所以这样说,是因为他们尚未修补浏览器