2

我已经在谷歌上搜索了一个教程来帮助解决这个问题,但还没有找到任何全面的东西。

我想通过以 JSON 格式发送数据库中包含的数据来单向同步 SQLite3 数据库与 Web 服务,但我无法找到有关如何将数据库转换为 JSON 的信息。如果有人可以向我指出涵盖此内容的教程的方向,或者展示一个如何转换简单 SQLite 表的简短示例,那就太好了!

该数据库包含大约十个可能包含大量数据的表,因此除了一个简单的示例之外,我们将不胜感激一些一般性的指导。

谢谢!

4

2 回答 2

5

答案很简单:您必须将 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];

我希望这有帮助。

于 2012-06-19T15:30:51.777 回答
2

我制作了一个 ios 应用程序,并尝试了这两个库 -

  1. 数据库库 - https://github.com/ccgus/fmdb
  2. json 库 - https://github.com/stig/json-framework

我认为从 db 制作 json 文本很容易,首先将所有数据读取到 NSDictionary,然后将其转换为 json 文本。您可以检查这两个库。

于 2012-06-19T16:52:33.577 回答