Foundations of JSON']JSON Schema

被引:267
作者
Pezoa, Felipe [1 ]
Reutter, Juan L. [1 ]
Suarez, Fernando [1 ]
Ugarte, Martin [2 ]
Vrgoc, Domagoj [1 ]
机构
[1] PUC Chile, Santiago, Chile
[2] Univ Libre Bruxelless, Brussels, Belgium
来源
PROCEEDINGS OF THE 25TH INTERNATIONAL CONFERENCE ON WORLD WIDE WEB (WWW'16) | 2016年
关键词
D O I
10.1145/2872427.2883029
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
JSON the most popular data format for sending API requests and responses is still lacking a standardized schema or meta-data definition that allows the developers to specify the structure of JSON documents. JSON Schema is an attempt to provide a general purpose schema language for JSON, but it is still work in progress, and the formal specification has not yet been agreed upon. Why this could be a problem becomes evident when examining the behaviour of numerous tools for validating JSON documents against this initial schema proposal: although they agree on most general cases, when presented with the greyer areas of the specification they tend to differ significantly. In this paper we provide the first formal definition of syntax and semantics for JSON Schema and use it to show that implementing this layer on top of JSON is feasible in practice. This is done both by analysing the theoretical aspects of the validation problem and by showing how to set up and validate a JSON Schema for Wikidata, the central storage for Wikimedia.
引用
收藏
页码:263 / 273
页数:11
相关论文
共 24 条
[1]  
[Anonymous], 2015, WORLDS MOST POP FRAM
[2]  
[Anonymous], 2008, Tree Automata Techniques and Applications
[3]  
[Anonymous], 2014, JSON LD 1 0 JSON BAS
[4]  
Berman J., 2015, JSON Schema Test Suite
[5]  
CORMEN TH, 2001, INTRO ALGORITHMS
[6]   THE MONADIC 2ND-ORDER LOGIC OF GRAPHS .1. RECOGNIZABLE SETS OF FINITE GRAPHS [J].
COURCELLE, B .
INFORMATION AND COMPUTATION, 1990, 85 (01) :12-75
[7]  
ECMA, 2013, JSON DAT INT FORM
[8]  
Galiegue F., 2013, JSON Schema: core definitions and terminology. draft-zyp-json-schema-04
[9]  
Goldschlager L. M., 1977, SIGACT News, V9, P25, DOI 10.1145/1008354.1008356
[10]  
Hopcroft J.E., 2003, Introduction to Automata Theory, Languages, and Computation, V2