FMDB,sqlite json-string 成字典?

Posted

技术标签:

【中文标题】FMDB,sqlite json-string 成字典?【英文标题】:FMDB, sqlite json-string into dictionary? 【发布时间】:2012-09-25 13:41:43 【问题描述】:

我使用 FMDB 从我的服务器加载 json-data。我得到的响应(JSON),我存储在一个 sqlite 数据库中(与下面的响应相同的字符串存储在数据库中)。稍后我通过 FMDB 从数据库中选择该数据并尝试从中构建一个 NSDictionary,但无法使其正常工作。

当我通过 NSLog 输出它时,我从服务器获得的 json-response 如下所示(缩短了这篇文章的响应,因此它包含更多...):


response = 
    data = 
        "dbId_1" = 
            1 = 
                current = 
                    weekday = Tuesday;
                ;
            ;
        ;
    ;
;

这就是我从数据库中选择它的方式以及我想要从中创建 NSDictionary 的方式:

NSString *jsonString = [results stringForColumn:@"json"];

是否可以将所有内容再次构建到 NSDictionary 中?

【问题讨论】:

【参考方案1】:

将 JSONKit 添加到您的项目中,#import "JSONKit.h" 然后继续:

NSDictionary *jsonDict = [yourJSONStringFromDB objectFromJSONString];

如果您使用自动引用计数,则需要打开您的项目设置 > 构建阶段 > 编译源面板

查找“JSONKit.m”行并双击它,添加“-fno-objc-arc”以强制对该文件不进行自动引用计数。

JSONKit 可以在这里下载:https://github.com/johnezang/JSONKit

【讨论】:

即使使用它,我的字典也会得到“null”; NSString *jsonString = [结果 stringForColumn:@"json"]; NSDictionary *dict = [jsonString objectFromJSONString]; NSLog(@"DICT: %@", dict); 使用 JSONKit 的 NSData 成员来加快阅读速度:[blob objectFromJSONData];【参考方案2】:

在我看来,您需要构建整个字典。

根据您存储在 SQLite 数据库中的数据,您必须将“键”和“值”对保存到字典中。

我曾经使用过类似的编码结构,并且我使用了一个数组。

我希望这会有所帮助。

【讨论】:

以上是关于FMDB,sqlite json-string 成字典?的主要内容,如果未能解决你的问题,请参考以下文章

SQLite3的面向对象封装FMDB

iOS之sqlite和FMDB

在使用 FMDB 执行 sqlite 查询时受到打击

SQLite数据库框架--FMDB简单介绍

来自 Sqlite (FMDB) 的 UITableView 中的部分和索引

iOS开发--SQLite重要框架FMDB的使用