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 成字典?的主要内容,如果未能解决你的问题,请参考以下文章