# TypeJson **Repository Path**: wkgcass/TypeJson ## Basic Information - **Project Name**: TypeJson - **Description**: 强类型的类Json格式,以及各语言的序列化、反序列化SDK - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-03-09 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #TypeJson TypeJson完全兼容[Json规范](http://www.json.org),并在其上增加类型检查支持。 ## 示例 纯Json格式 ``` { "hello": "world" } ``` 模块声明和引用 ``` module "std" use "datetime" ``` 类型定义 ``` def Second { second: Int } ``` 显式声明类型 ``` { repo: Repo { id: 1, name: 'TypeJson' } } ``` ## TypeJson的词法规范 #### module_declare module *string* #### definition def *type_symbol* *def_object* def *type_symbol* : *type_symbol* *def_object* #### def_object { } { *def_members* } #### def_members *def_pair* *def_pair* , *def_members* #### def_pair *key* : *def_value* #### def_value *type_symbol* *type_symbol* ? #### object { } { *members* } #### members *pair* *pair* , *members* #### pair *key* : *value* #### key *string* | *valid_name* #### array [ ] [ *elements* ] #### set ( ) ( *elements* ) #### elements *value* *value* , *elements* #### value *explicit_typed_value* *implicit_typed_value* #### explicit_typed_value *type_symbol* *implicit_typed_value* #### type_symbol *valid_name* *valid_name* < *generic_type_symbol* > #### generic_type_symbol *valid_name* *valid_name* : *type_symbol* #### implicit_typed_value *string* *number* *object* *array* *true* *false* *null*