Web editor and parser for the JSONPath query language

Webový editor a parser pro dotazovací jazyk JSONPath

Editors

Other contributors

Journal Title

Journal ISSN

Volume Title

Publisher

České vysoké učení technické v Praze
Czech Technical University in Prague

Research Projects

Organizational Units

Journal Issue

Abstract

JSONPath, dotazovací jazyk pro formát JSON, byl v roce 2024 standardizován. To po dlouhé době dalo možnost pro tento jazyk tvořit vzájemně kompatibilní nástroje. Tato diplomová práce se zabývá tvorbou editoru kódu a také knihovny pro parsování a vyhodnocení dotazů jazyka JSONPath. Vše v souladu s jeho novou specifikací RFC 9535. Jsou popsány všechny fáze vývoje od analýzy, přes návrh a implementaci až po testování, dokumentaci a nasazení. Výsledkem je moderní webová aplikace, kde lze dotazy editovat, spouštět a transformovat s nimi data. Dále pak komponenta editoru ve formě knihovny pro vývojáře a také knihovna pro parsování a vyhodnocení dotazů. Mezi funkce editoru patří například zvýrazňování syntaxe, napovídání nebo kontrola chyb. K tomu dokáže zohlednit vstupní data i schéma. Knihovny byly publikovány v NPM registru a aplikace na doméně jsonpath.dev. Kdokoli je může ihned využít.

JSONPath, a query language for the JSON format, was standardized in 2024. This, after a long time, made it possible to create mutually compatible tools for the language. This master's thesis focuses on the creation of a code editor, and also a library for parsing and evaluation of JSONPath queries. All are compliant with its new specification RFC 9535. It describes all stages of the development, from analysis through design and implementation to testing, documentation, and deployment. The result is a modern web application that allows to edit queries, execute them, and transform data with them. In addition, an editor component in the form of a library for developers, and also a library for parsing and evaluating queries. Editor features include, for example, syntax highlighting, autocomplete, and error underlining. It can take into account the input data, and/or schema for them. The libraries have been published to the NPM registry, and the application on the domain jsonpath.dev. Anyone can immediately use them.

Description

Citation

Endorsement

Review

Supplemented By

Referenced By