【发布时间】:2016-06-10 21:57:55
【问题描述】:
我使用的是文件格式。该格式实际上是具有特定结构的 JSON。该格式带有一个非常棒的验证器,并提供有用的错误消息。但是,当错误导致输入为无效 JSON 时,验证器会失败,并给出非常糟糕的错误消息。
我可以将它与普通的 JSON 验证器一起使用,但我真正想做的是能够将 JSON 结构放入工具中,并从另一端获取 (python) 解析器。显然有多种方法可以做到这一点,我的问题是:有什么方法可以定义 JSON 格式,让我避免为 JSON 本身编写解析器?
用例是这样的:我想为格式构建一个“适当的”验证器,以便用户可以上传他们的文件并对其进行检查。我可以只编写 BNF,但我想为一个理解它是 BNF-within-JSON 的工具编写 BNF。
【问题讨论】:
-
如果他们向您发送无效的 JSON,除了无效之外,他们还需要知道什么吗?只需使用普通的
json.loads来检查它是否是有效的 JSON。 -
你知道 JSON 代表什么吗? JavaScript Object Notation,它已经是一种表示法,只有一个有效的“格式”。格式良好的 JSON 对象可以使用内置模块 json from json import loadloads(jsonObjectAsString) 进行解析
-
也很难猜出你想做什么。通常你想用 json 模块或 jsonpickle 解析 json 然后检查你的数据的有效性
-
@Alex,JSON 模式,看起来很像完美的答案 - 谢谢。
-
@AlexHall - 您愿意将您的评论作为答案,以便我接受吗?
标签: python json validation parsing