Как то в один прекрасный день потребоволось хранить дерево в одной программе на vala. И обуяла меня жажда велосипедостроения (ну за одно и потренироваться в работе с json оказалось неплохо). В результате родился ниже приведенный класс. Класс умеет проверять наличие ключа (не значения) в json - структуре. Читать с диска и сохранять на диск результат а так же работать с строковыми значениями. Остальные значения допустимые в json в данном примере не включены из за эконимии места, и строкового типа хватить для показа работоспособности.
Так как используется модуль Json то при сборке проэкта не забудьте указать пакет json-glib-1.0. К примеру строка сборки тестового примера у меня выглядит как vala --pkg json-glib-1.0 -o test_config_d -g
Для разделения веток конфига используется символ "/".
К примеру чтение значение cfg.get_string_value("Key 1/Key 2/Key 3") примененое к json файлу вида
"Key 4":"value 1"
}
Так как используется модуль Json то при сборке проэкта не забудьте указать пакет json-glib-1.0. К примеру строка сборки тестового примера у меня выглядит как vala --pkg json-glib-1.0 -o test_config_d -g
Для разделения веток конфига используется символ "/".
К примеру чтение значение cfg.get_string_value("Key 1/Key 2/Key 3") примененое к json файлу вида
{"Key 1":{"Key 2":{"Key 3":"value 2"},
"Key 4":"value 1"
}
}вернет значение value 2