参考:Getting started with JSON schema

我一直在阅读JSON模式.我明白这一点

当您谈论数据格式时,您需要元数据

好的,这些模式定义了我正在构建的JSON struct 中允许的内容和不允许的内容.

我的问题是,这些模式是如何实际使用的?例如,如果我在C++程序(或python脚本)中使用JSON文件,我可以按原样使用JSON文件(当然没有任何验证).但是如果我想验证它,我如何使用json模式来验证它呢?有什么推荐的图书馆吗?(我对C++感兴趣,但也欢迎提供有关python的其他信息)

EDIT: I would like to emphasize that the main purpose of this question is to understand how are these schemas practically used?
Are schemas used only for validation? or are there other uses? (I am new to the concept of schemas)

推荐答案

一个用途是validation.除了通过/失败之外,您还会收到一条有意义的错误消息,如"字段A.B.C的意外值W,允许值为X, Y, Z"或"字段A.B.C的无效类型,预期日期,找到int","缺少字段a.B.C"等.

它们也可以充当self documentation.

它们也用于autocomplete.例如,VS代码等程序的json设置文件.当您从VS代码中编辑settings.jsonc_cpp_properties.json时,您将获得特定json文件的自动完成.这是内置的.但您也可以使用文件模式匹配定义自己的模式,并且可以在编辑器中为自己的json文件获得自动完成.

Json相关问答推荐

如何在VegaLite中应用Times New Roman,CaliBiri字体

将PostgreSQL转换为JSON对象

在 PowerShell 中通过 aws cli 创建 cloudwatch alert 时出现字符串解析错误

德纳比可视化区域图表 Power BI

Rust实现:高效解析任意大小的JSON数组

APIM 生成 JsonArray 到 EventHub

判断golang中解析的json响应中是否存在所需的json键(不是值)

如何实现一个通用的 serde_json::from_str

jq:用列表包装所有第一级原子值

使用 ConvertFrom-Json 后,Powershell 访问 JSON 中的嵌套对象

JQuery,使用 GET 方法发送 JSON 对象

如何从 JSON 对象中获取日期

Spring MVC 4:application/json内容类型设置不正确

json.decoder.JSONDecodeError:期望值:第 1 行第 1 列(字符 0)

从多维数组数据生成json字符串

从 HttpResponse 获取 json

Jackson 没有使用 @JsonProperty 覆盖 Getter

在 Jersey 服务中使用 JSON 对象

使用 application/json 优于 text/plain 的优势?

AJAX 将 JavaScript 字符串数组发布到 JsonResult 作为 List 总是返回 Null?