Russian Qt Forum
Ноябрь 23, 2024, 18:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt application settings in JSON  (Прочитано 8753 раз)
asvil
Гость
« : Март 06, 2011, 00:23 »

Цель проекта:
Обеспечить хранение настроек приложения в JSON формате.

Qt JSON parser and serializer (qlalr based)
Girish Ramakrishnan
http://git.forwardbias.in/?p=qjsonparser.git
За что ему огромное спасибо.

Как использовать:

Скачайте с gitorious'а.
git clone —depth 1 http://git.gitorious.org/qtjsonsettings/qtjsonsettings.git

Подключите в проект.

CMake
Будет присоединен как статическая библиотека.

add_subdirectory(~/projects/qtjsonsettings ${CMAKE_CURRENT_BINARY_DIR}/qtjsonsettings)
include_directories(~/projects/qtjsonsettings)

target_link_libraries(${PROJECT_NAME} ${QT_LIBRARIES}
qtjsonsettings)

QMake
Будут добавлены файлы с исходным кодом.

include(~/projects/qtjsonsetting/qtjsonsettings.pri)

Где-то в коде:

Код:
#include "qtjsonsettings.h"

QSettings *settings = new QtJsonSettings("parameters.json");

Возможно также использование JSON сериализатора для QVariant без использования QtJsonSettings, например так:

Код:
#include "json.h"


QVariantMap map;
map["key1"] = "value1";

QVariantMap subMap;
subMap["key2"] = "value2";

map["sub_map"] = subMap;

QVariantList list;
list.append("1243");

map["list"] = list;

QString result = Json::stringify(map); // Json::prettyStringify(map, 4);

map = Json::parse(result);


Преимущества JSON перед другими форматами:
Лучшая читабельность файла настроек.
Сериализация и десериализация в языках ecmascript (QtScript, JavaScript)
Записан
ufna
Гость
« Ответ #1 : Март 09, 2011, 11:39 »

Отлично!
Записан
Robotex
Гость
« Ответ #2 : Март 18, 2013, 17:28 »

А как у него с быстродействием?
Записан
ритт
Гость
« Ответ #3 : Июль 20, 2013, 05:41 »

честно говоря, ожидал увидеть json бэкэнд к QSettings, а не наследника. почему был выбран именно такой подход?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 20.