从json模式定义自动生成普通的旧对象模型+自定义json序列化/反序列化代码。

js2model的Python项目详细描述


概述

JS2模型使得使用JSON数据作为简单的老目标C、C++或Python对象更容易。

json作为一种数据协议是简单、方便、无处不在的。在javascript中工作时,有效的json字符串可以是 只需评估以生成本机数据实例。当用其他语言工作时,事情就不那么简单了。平常的 方法是使用一个通用的特定于语言的json解析器,它生成一个由 字典,数组,字符串和数字。你可以用这些一般的结构,以降低效率为代价, 没有类型安全性、更难维护的代码等。您可以通过手动滚动一些 将数据加载到本机自定义类实例中的后处理逻辑—这通常是一项乏味的任务, 容易出错,而且很难维护。

js2model通过自动 生成模型类和序列化/反序列化代码。JS2模型使用 JSON Schema要生成源的json数据的定义 包含并与项目其余部分一起生成的文件。

语言

该脚本旨在针对多种输出语言。ObjuleC和C++都是在框外支持的。 未来的版本将添加其他语言,以及支持添加自己的语言模板。

文档

您可以查看文档here

json模式

<>您可能没有JSON数据的现有JSON模式定义。理论上,创建模式是 只需根据JSON Schema specifications创建json文件。 事实上,根据您的复杂性,手动创建模式定义可能是繁琐的和时间密集的。 数据。幸运的是,有更好的方法。GenSON是一个脚本 将从一个或多个json文件自动生成json模式。生成的模式定义可能需要一些调整, 但根森会为你节省相当多的时间和精力。

用法

usage: js2model [-h] [-l LANG] [--prefix PREFIX] [--namespace NAMESPACE]
                [--rootname ROOTNAME] [--novalidate] [-o OUTPUT]
                [--implements IMPLEMENTS] [--super SUPER]
                [--import IMPORT_FILES] [-v] [--no-deserialize]
                [--no-dependencies]
                FILES [FILES ...]

Generate native data models from JSON Schema definitions.

positional arguments:
    FILES                 JSON Schema files for model generation

optional arguments:
    -h, --help            show this help message and exit
    -l LANG, --lang LANG  Target language. Supported values: objc, cpp (default:
                        objc)
    --prefix PREFIX       prefix for class names (default: TR)
    --namespace NAMESPACE
                        parent namespace for generated code (default: tr)
    --rootname ROOTNAME   Class name for root schema object (default: base name
                        of file)
    --novalidate          Skip schema validation
    -o OUTPUT, --output OUTPUT
                        Target directory of output files
    --implements IMPLEMENTS
                        Comma separated list of interface(s)|protocol(s)
                        supported by the generated classes
    --super SUPER         Comma separated list of super classes. Generated
                        classes inherit these
    --import IMPORT_FILES
                        Comma separated list of files to @import for Objective
                        C source files.
    -v, --verbose         Print actions to STDOUT.
    --no-deserialize      Do not generate deserialization code. Implies --no-
                        dependencies.
    --no-dependencies     Do not include dependencies in output.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java左/右位移位为什么按字节长度移位   java JSoup抓取不断变化的值   多线程在线程之间共享资源,在不同的java版本中有不同的行为   java Spring执行器未映射到localhost:xxxx/activator   java如何正确迭代两个循环   java显示3D地形地图盒v10 Android   java select*进入查询executeUpdate()   java将Excel文件转换为PDF文件   java在Eclipse的自动完成方案中选择方法的排序顺序?   java如何获取列的最后一个值   java如何模拟hadoop文件系统   java读取文件并将其解析为不同的数组   java通过ThreadPoolTaskExecutor或ThreadPoolExecutoryFactoryBean创建线程池?   java Struts2注释不适用于jboss EAP 7   java Servlet会话行为和会话。使无效   java聊天应用程序如何与其服务器通信?