• 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 0

    Core Json – JSON Schema

    Posted by 撒得一地 on 2016年4月20日 in JSON
    国外稳定加速器推荐    Express | Vypr

    JSON Schema指定JSON文件的结构。 JSON Schema可以用于验证发送/接受于RESTful Web服务的内容。 JSON Schema都写在JSON里。

    在//json-schema.org可以找到主要的JSON Schema。JSON Schema是一个正在发展的Schema- JSON的架构团队刚刚发布0.4版本,在//tools.ietf.org/html/draft-zyp-json-schema-04. 可以找到跟多细节信息。 一些重要的JSON Schema结构包括:

    CONSTRUCT DESCRIPTION
    type The data type – object, array, string, number, etc.
    $schema The URI that provides the schema version.
    required true/false
    id Data element id
    properties Validation properties for a data element include type (see above), minimum – minimum value, maximum – maximum value, enum, etc.

    下面的例子用一个简单的JSON Schema验证网上礼品登记信息的一部分内容:

    {
    
    "type": "object",
    
    "$schema": "//json-schema.org/draft-03/schema",
    
    "id": "#",
    
    "required": true,
    
    "properties": {
    
        "registrants": {
    
            "type": "array",
    
            "id": "registrants",
    
            "required": true,
    
            "items": {
    
                "type": "object",
    
                "required": false,
    
                "properties": {
    
                    "address": {
    
                        "type": "object",
    
                        "id": "address",
    
                        "required": true,
    
                        "properties": {
    
                            "city": {
    
                                "type": "string",
    
                                "id": "city",
    
                                "required": true
    
                            },
    
                            "country": {
    
                                "type": "string",
    
                                "id": "country",
    
                                "required": false
    
                            },
    
                            "line1": {
    
                                "type": "string",
    
                                "id": "line1",
    
                                "required": true
    
                            },
    
                            "line2": {
    
                                "type": "string",
    
                                "id": "line2",
    
                                "required": false
    
                            },
    
                            "postalCode": {
    
                                "type": "string",
    
                                "id": "postalCode",
    
                                "required": true
    
                            },
    
                            "premise": {
    
                                "type": "string",
    
                                "id": "premise",
    
                                "required": true,
    
                                "enum": [
    
                                    "work",
    
                                    "home",
    
                                    "other"
    
                                ]
    
                            },
    
                            "stateOrProvince": {
    
                                "type": "string",
    
                                "id": "stateOrProvince",
    
                                "required": true
    
                            }
    
                        }
    
                    },
    
                    "firstName": {
    
                        "type": "string",
    
                        "id": "firstName",
    
                        "required": true
    
                    },
    
                    "lastName": {
    
                        "type": "string",
    
                        "id": "lastName",
    
                        "required": true
    
                    },
    
                    "phoneNumber": {
    
                        "type": "object",
    
                        "id": "phoneNumber",
    
                        "required": true,
    
                        "properties": {
    
                            "channel": {
    
                                "type": "string",
    
                                "id": "channel",
    
                                "required": true,
    
                                "enum": [
    
                                    "cell",
    
                                    "work",
    
                                    "home"
    
                                ]
    
                            },
    
                            "number": {
    
                                "type": "string",
    
                                "id": "number",
    
                                "required": true
    
                            }
    
                        }
    
                    }
    
                }
    
            }
    
        }
    
    }
    
    }
    

    JSON Schema生成器

    创建一个JSON Schema非常的繁琐,而且容易出错的。使用JSON Schema生成器,可以生成任何有效JSON文件的Schema。访问在线JSON模式发生器(www.jsonschema.net/),并通过执行以下操作生成模式:

    • 粘贴JSON文件到右边的文本区域。
    • 选择JSON输入选项。
    • 按生成模式按钮。

    JSON Schema 验证器

    应用程序使用JSON Schema验证器,以确保JSON文件符合Schema指定的结构。 JSON Schema验证器可用于大多数现代编程语言中:

    JSON SCHEMA VALIDATOR LANGUAGE SOURCE
    JSV JavaScript https://github.com/garycourt/JSV
    Ruby JSON Schema Validator Ruby https://github.com/hoxworth/json-schema
    json-schema-validator Java https://github.com/fge/json-schema-validator
    php-json-schema (by MIT) PHP https://github.com/hasbridge/php-json-schema
    JSON.Net .NET //james.newtonking.com/projects/json-net.aspx

    除了基于特定语言的模式验证工具,有一个非常棒的在线JSON Schema验证器://json-schema-validator.herokuapp.com。要使用该网站,只需输入JSON文件和Schema到相应的文本框中,然后按验证按钮即可。

    上一篇:

    下一篇:

    相关推荐

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    2 + 8 = ?

    网站地图|广东快乐10分开奖直播

    Copyright © 2015-2019 广东快乐10分开奖直播 All rights reserved.
    闽ICP备15015576号-1,版权所有?psz.

  • 周蓬安.blog的博客—强国博客—人民网 2019-05-10
  • 紫光阁中共中央国家机关工作委员会 2019-05-10
  • 感触名家笔下的端午文化吃香粽原来可以这样文艺 2019-05-09
  • 追梦夺冠游行嘲讽詹皇 百万人面前穿订制T恤羞辱他 2019-04-27
  • 《瘟疫传说》:黑死病恐怖 姐弟在绝望中求生 2019-04-10
  • 陕西国防工业职业技术学院百名大学生志愿者敬老院慰问孤寡老人陕西国防工业职业技术学院百名大学生志愿者敬老院慰问-陕西教育新闻 2019-04-08
  • 西藏拉萨:新家园 新生活 2019-04-08
  • 尊重和保障宗教信仰自由的中国实践 2019-04-06
  • 一敬泯恩仇 俄罗斯队主帅这个动作太暖了 2019-03-20
  • 四大名著剧组首次同台忆往事 经典影视剧如何铸就? 2018-12-07
  • “天眼”凝望 探秘宇宙 2018-12-07
  • 彩票新闻 双色球重号走势图2004 时时彩十期倍投方案 黑龙江时时彩走试图 彩票3d 查2013年福彩开奖数据 360老时时彩开奖结果 中原22选5走势图 重庆幸运农场开奖预测 中国体育彩票超级大乐透 北京pk赛车计划最准 澳客竞彩足球比分记录 快乐飞艇是哪里开的官方网站 湖南彩票一等奖 澳客网七星彩 辽宁福利彩票35选7