日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)JSON教程:JSON模式

JSON 模式(Schema)是一種基于 JSON 格式定義 JSON 數(shù)據(jù)結(jié)構(gòu)的規(guī)范。它被寫在 IETF 草案下并于 2011 年到期。它用來:

  • 描述現(xiàn)有數(shù)據(jù)格式。
  • 干凈的人類和機(jī)器可讀的文檔。
  • 完整的結(jié)構(gòu)驗證,有利于自動化測試。
  • 完整的結(jié)構(gòu)驗證,可用于驗證客戶端提交的數(shù)據(jù)。

JSON 模式驗證庫

目前有好幾個驗證器可用于不同的編程語言。但是目前最完整和兼容 JSON 模式的驗證器是 JSV。

語言 程序庫
CWJElement (LGPLv3)
Javajson-schema-validator (LGPLv3)
.NETJson.NET (MIT)
ActionScript 3Frigga (MIT)
Haskellaeson-schema (MIT)
PythonJsonschema
Rubyautoparse (ASL 2.0); ruby-jsonschema (MIT)
PHPphp-json-schema (MIT). json-schema (Berkeley)
JavaScriptOrderly (BSD); JSV; json-schema; Matic (MIT); Dojo; Persevere (modified BSD or AFL 2.0); schema.js.

JSON 模式示例

下面是一個基本的 JSON 模式,其中涵蓋了一個經(jīng)典的產(chǎn)品目錄說明:

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "Product",
    "description": "A product from Acme's catalog",
    "type": "object",
    "properties": {
        "id": {
            "description": "The unique identifier for a product",
            "type": "integer"
        },
        "name": {
            "description": "Name of the product",
            "type": "string"
        },
        "price": {
            "type": "number",
            "minimum": 0,
            "exclusiveMinimum": true
        }
    },
    "required": ["id", "name", "price"]
}

我們來看一下可以用于這一模式中的各種重要關(guān)鍵字:

關(guān)鍵字 描述
$schema$schema 關(guān)鍵字狀態(tài),表示這個模式與 v4 規(guī)范草案書寫一致。
title用它給我們的模式提供了標(biāo)題。
description關(guān)于模式的描述。
typetype 關(guān)鍵字在我們的 JSON 數(shù)據(jù)上定義了第一個約束:必須是一個 JSON 對象。
properties定義各種鍵和他們的值類型,以及用于 JSON 文件中的最小值和最大值。
required存放必要屬性列表。
minimum給值設(shè)置的約束條件,表示可以接受的最小值。
exclusiveMinimum如果存在 "exclusiveMinimum" 并且具有布爾值 true,如果它嚴(yán)格意義上大于 "minimum" 的值則實例有效。
maximum給值設(shè)置的約束條件,表示可以接受的最大值。
exclusiveMaximum如果存在 "exclusiveMinimum" 并且具有布爾值 true,如果它嚴(yán)格意義上小于 "maximum" 的值則實例有效。
multipleOf如果通過這個關(guān)鍵字的值分割實例的結(jié)果是一個數(shù)字則表示緊靠 "multipleOf" 的數(shù)字實例是有效的。
maxLength字符串實例字符的最大長度數(shù)值。
minLength字符串實例字符的最小長度數(shù)值。
pattern如果正則表達(dá)式匹配實例成功則字符串實例被認(rèn)為是有效的。

可以在 http://json-schema.org 上檢出可用于定義 JSON 模式的完整關(guān)鍵字列表。上面的模式可用于測試下面給出的 JSON 代碼的有效性:

[
    {
        "id": 2,
        "name": "An ice sculpture",
        "price": 12.50,
    },
    {
        "id": 3,
        "name": "A blue mouse",
        "price": 25.50,
    }
]

本文名稱:創(chuàng)新互聯(lián)JSON教程:JSON模式
當(dāng)前URL:http://www.5511xx.com/article/djpgcoc.html