Я искал более 4 дней, но мне не удалось найти много поддержки в коде для компилятора схемы JSON на основе lua. В основном я имел дело с
Но ни один из вышеперечисленных не был простым в использовании.
После решения проблем с luarocks
я наконец-то заработал ljsonschema
, но синтаксис JSON выглядит иначе, чем обычная структура JSON - для ex: равно вместо точки с запятой, двойных кавычек для имен ключей и т. Д.
ljsonschema поддерживает
{ type = 'object', properties = {
foo = { type = 'string' },
bar = { type = 'number' },},}
Мне требуется:
{ "type" : "object",
"properties" : {
"foo" : { "type" : "string" },
"bar" : { "type" : "number" }}}
При rjson
существует проблема с самим местом установки. Хотя установка проходит нормально, он никогда не может найти файл .so во время выполнения кода lua. Плюс, я не могу найти много поддержки для развития.
Пожалуйста, помогите указать правильное направление, если я что-то упустил.
У меня есть схема json и пример json, мне просто нужен код lua, чтобы помочь написать программу вокруг него.
Это написать собственный плагин валидации JSON для Kong CE.
ОБНОВЛЕНИЕ:
Я хотел бы, чтобы приведенный ниже код работал с ljsonschema:
local jsonschema = require 'jsonschema'
-- Note: do cache the result of schema compilation as this is a quite
-- expensive process
local myvalidator = jsonschema.generate_validator{
"type" : "object",
"properties" : {
"foo" : { "type" : "string" },
"bar" : { "type" : "number" }
}
}
print(myvalidator { "foo":"hello", "bar":42 })
Но я получаю ошибку: '}' expected (to close '{' at line 5) near ':'