https://github.com/38elements/simplejsonvalidator
https://github.com/38elements/simplejsonvalidator
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/38elements/simplejsonvalidator
- Owner: 38elements
- Created: 2013-07-15T11:34:44.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2013-07-20T00:25:32.000Z (almost 13 years ago)
- Last Synced: 2025-07-02T09:54:36.207Z (12 months ago)
- Language: Python
- Size: 152 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
SimpleJsonValidator
===================
[](https://travis-ci.org/38elements/SimpleJsonValidator)
Json形式のデータに対してスキーマを定義して型チェックを行なうプログラム。
RedisやmemcacheでJsonを文字列で保存する際のチェックに用いる。
* スキーマの型はint, float, bool, str, list, dictのみを指定する。
* スキーマのintはint及びlongを許容する。
* スキーマのstrはstr及びunicodeを許容する。
* スキーマのlistは要素を1つのみ持つことができる。
(listの要素の型は1種類である。)
* スキーマと検証対象のデータのdictのキーは数や名称が一致していないと不正になる。
* 検証対象のデータにNone(null)があった場合は不正になる。
```python
# coding: utf-8
from simple_json_validator import SimpleJsonValidator
schema = {
"name": str,
"year": int,
"ids": [int],
"items": [
{
"id": int,
"name": str
}
]
}
data = {
"name": "name1",
"year": 2000,
"ids": [20,3,61,21],
"items": [
{
"id": 43,
"name": "name2",
},
{
"id": 44,
"name": "name3",
},
]
}
sjv = SimpleJsonValidator(schema)
sjv.validate(data)
//=>True
```