c++ - JSON 模式的实际用途是什么?

标签 c++ json jsonschema

引用:Getting started with JSON schema

我一直在阅读有关 JSON 模式的内容。我明白了

When you’re talking about a data format, you want to have metadata about what keys mean, including the valid inputs for those keys. JSON Schema is a proposed IETF standard how to answer those questions for data.

好吧,这些架构定义了我正在构建的 JSON 结构中允许的内容和不允许的内容。

我的问题是,这些模式在实际中如何使用?例如,如果我在 C++ 程序(或 python 脚本)中使用 JSON 文件,我可以按原样使用 json 文件(当然无需任何验证)。但如果我想验证它,我该如何使用 json 模式来做到这一点? 是否有任何推荐的库?(我对 C++ 感兴趣,但也欢迎有关 python 的其他信息)

编辑:我想强调,这个问题的主要目的是理解这些模式的实际使用情况如何?
模式仅用于验证吗?或者还有其他用途吗? (我对模式的概念很陌生)

最佳答案

JSON Schema 网站上的实现页面列出了几个用例。 https://json-schema.org/implementations.html

  • 验证
  • 代码生成
  • 用户界面生成
  • 示例数据生成

JSON 架构仅用于验证,但其他用例也是可能的,我们正在尝试形式化语义和附加关键字以使其他用例能够互操作。

此外,如果您想了解现实世界的用例,官方 YouTube channel 上有一系列内容:https://youtube.com/playlist?list=PLHVhS4Tj1YZOrrvl7_a9LaBAtst7BWH8a

博客上还发现了一些案例研究:https://json-schema.org/blog

关于c++ - JSON 模式的实际用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72610677/

相关文章:

json - common-js utils 中的 JSON Schema 验证是否支持引用?

javascript - 输入基于作为参数传递的 JSON 模式的函数

c++ - 使用 Visual Studio 2008 编译和运行 MFC 应用程序?

c++ - 如何在 C++ 中将值 append 到未知大小的数组中?

c# - 带有 Directx 11 的 WPF

javascript - 如何处理大数组(100.000 个对象)?

c++ - 以编程方式计算 Windows 上进程的开始时间

javascript - 调用rest webservice时jquery ajax失败

java - 如何在 Java 中将 JSON 转换为 Base64 字符串?

css - 如何将 react-jsonschema-form 与 material-ui 一起使用?