Преобразование базы данных SQLite3 в JSON iOS

Я просмотрел Google для учебника, чтобы помочь с этим, но не смог найти ничего всеобъемлющего.

Я хочу односторонне синхронизировать базу данных SQLite3 с веб-службой, отправив данные, содержащиеся в базе данных, в формате JSON, но у меня возникли проблемы с поиском информации о том, как преобразовать базу данных в JSON. Если кто-нибудь может либо указать мне направление учебника, посвященного этому, либо, в качестве альтернативы, показать краткий пример того, как преобразовать простую таблицу SQLite, это было бы здорово!

База данных содержит около десяти таблиц, которые потенциально могут содержать много данных, поэтому, помимо простого примера, было бы полезно получить некоторые общие рекомендации.

Спасибо!


person Jace    schedule 19.06.2012    source источник
comment
Я использовал github.com/stig/json-framework#readme для преобразования NSArray или NSDictionary в json-текст.   -  person Tom    schedule 19.06.2012


Ответы (2)


Ответ довольно прост: вам нужно получить всю информацию из базы данных SQL в какой-то абстрактный тип данных, а затем сериализовать эти данные в JSON. Я предполагаю, что вы разрабатываете на Objective-C, поскольку это основной язык программирования для iOS. Я написал библиотеки для обеих целей, поэтому использую мой вспомогательный класс SQL и мой библиотека JSON, вы можете сделать что-то вроде этого:

SQLHelper *db = [[SQLHelper alloc] initWithFile:@"/User/Library/large_db.sqlite3"]; // specify full file path

// repeat these 3 steps for every table
NSArray *allContents = [db executeQuery:@"SELECT * FROM first_table"];
NSString *json = [allContents generateJson];
// now send `json' to the web service

// cleanup once we finished
[db release];

Надеюсь, это поможет.

person Community    schedule 19.06.2012
comment
Похоже, что на самом деле он не извлекает никаких данных из базы данных. Я думаю, что это может быть связано с путем к файлу. Есть ли способ использовать ваш класс SQLHelper для указания пути к файлу? Или есть что-то еще, что я упустил из виду? - person Jace; 20.06.2012
comment
куда делась часть json, ваша ссылка на git не работает - person ChuckKelly; 12.01.2014

Я сделал приложение для iOS и попробовал эти две библиотеки:

  1. db — https://github.com/ccgus/fmdb
  2. библиотека json — https://github.com/stig/json-framework

Я думаю, что легко сделать текст json из db, сначала прочитать все данные в NSDictionary, а затем преобразовать его в текст json. Вы можете проверить эти две библиотеки.

person Tom    schedule 19.06.2012