于是我写了这个框架, 它可以很超简单地用于json解析和sqlite 增删改查。
这个库是在JSONModel基础之上做的.
JSONModel是用来解析json的一个库, 解析json完成之后, 我们需要做数据存储, 怎么办?
方法1. 存储返回的json到NSUserDefaults里面, 但是这样做update或者select的时候就蛋疼了
方法2. 自己用sqlite存起来, 但是这样需要自己把每个字段先建好, 每个参数insert的时候, 都需要写一段sql, 太麻烦!
方法3. 使用coredata, 但是coredata却又有众所周知超难用的地方, 并且不适合数据量大了之后使用.
这些方法都糟糕透了!
于是我写了这个框架, 融合了json解析, 巨简单的sqlite增删改查.
项目地址:
https://github.com/ben46/jsonmodel
如何安装:
pod 'JSONModel', :git => 'https://github.com/ben46/JSONModel.git'
服务器返回的JSON:
{
"ID": "1",
"name": "Product name",
"price": 12.95
}
定义你的数据model
@interface ProductModel : JSONModel
@property (assign, nonatomic) NSNumber<JMPrimaryKey> *ID;
@property (strong, nonatomic) NSString* name;
@property (assign, nonatomic) float price;
@end
某个你的代码处 :
#import "CountryModel.h"
...
NSString* json = (fetch here JSON from Internet) ...
NSError* err = nil;
CountryModel* country = [[CountryModel alloc] initWithString:json error:&err];
// 自动建表 && 自动生成sql && 自动保存数据
[country JM_save];
// find the value matches the primary key
CountryModel* countryYouJustSaved = [CountryModel JM_find:@1];
NSLog(@"%@", [countryYouJustSaved toDictionary]);
欢迎大家提issue, 我会在第一时间修复.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.