跳转到主要内容

JSON扩展,支持文件包含

项目描述

json-include是JSON的扩展方式,支持文件包含,它包含两部分

  1. 一个称为包含语法的语法定义。

  2. 一个Python实现,用于解析和构建包含包含语法的JSON文件。

语法

json-include支持JSON中的扩展语法,称为包含语法,格式如下

{
    "...": "<json file name>"
}

包含语法意味着JSON中的此对象(整个{"...": "<json file name>"})是对名为<json file name>的JSON文件的引用,应包含到其位置。

包含的JSON始终应该是对象(字典)而不是数组(列表),以防止隐含的意义并确保我们可以清楚地了解结构,而无需查看包含的JSON文件。

在正常的JSON中,当我们想在属性上包含另一个JSON时,应如下编写

{
    "username": "alice",
    "profile": {
        "...": "<profile_model.json>"
    }
}

在这个JSON中,一个profile_model.json被包含以展示profile属性,如果profile_model.json的内容如下

{
    "age": 18,
    "gender": "female"
}

那么我们通过包含语法的含义是,当此JSON被用作正常JSON时,应被视为

{
    "username": "alice",
    "profile": {
        "age": 18,
        "gender": "female"
    }
}

要将包含语法的JSON转换为正常JSON,需要一个构建过程,这就是实现所做的事情。

Python实现

实现可以是任何语言,只要它可以理解包含语法并按预期输出,这个存储库包含一个Python实现以供使用。

安装

pip install json-include

用法

通过安装,将注册一个名为json-include的命令作为入口点,用法如下

usage: json-include [-h] DIR FILE

Command line tool to build JSON file by include syntax.

positional arguments:
  DIR         The directory path of source json files
  FILE        The name of the source json file

optional arguments:
  -h, --help  show this help message and exit

例如

json-include test/source_json/ c.json

c.json的解析和构建结果将被打印。

更多关于 json_include 包的用法请参阅其源代码,同时 test/ 目录也可以帮助您更好地理解其工作原理。

待办事项

  • [ ] 防止循环引用

  • [ ] 测试循环引用

  • [ ] 测试无效语法

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

json-include-0.1.4.tar.gz (3.8 kB 查看哈希值)

上传时间 源代码

构建分发

json_include-0.1.4-py2-none-any.whl (5.9 kB 查看哈希值)

上传时间 Python 2

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面