将SQLite3数据库转换为JSON iOS

时间:2012-06-19 15:14:13

标签: ios json web-services sqlite etl

我已经在Google上搜索了一个教程来帮助解决这个问题,但却找不到任何全面的内容。

我想通过以JSON格式发送数据库中包含的数据来单向同步SQLite3数据库和Web服务,但是却无法找到有关如何将数据库转换为JSON的信息。如果有人可以指向我的教程方向,或者显示如何转换简单的SQLite表的简短示例,那就太棒了!

数据库包含大约十个可能包含大量数据的表,因此除了一个简单的例子之外,我们还会感谢一些一般指导。

谢谢!

2 个答案:

答案 0 :(得分:4)

答案很简单:您必须将SQL数据库中的所有信息转换为某种抽象数据类型,然后将该数据序列化为JSON。我假设您正在使用Objective-C进行开发,因为它是iOS编程的主要语言。我已经为两个目的编写了库,所以使用我的SQL helper class和我的JSON library,你可以这样做:

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];

我希望这会有所帮助。

答案 1 :(得分:2)

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

  1. db library - https://github.com/ccgus/fmdb
  2. json library - https://github.com/stig/json-framework
  3. 我认为从db创建json文本很容易,首先将所有数据读取到NSDictionary,然后将其转换为json文本。你可以检查这两个库。