所以我正在实现Feed /时间轴类型的应用。基本上,当您最初打开应用程序时,它将进入内存,然后立即使用该数据返回,而在后台则从服务器获取较新的数据。问题是,到目前为止,我将响应存储为磁盘作为原始JSON文件。现在,当我从服务器获取新数据作为JSON时,基本上我需要将此JSON与旧JSON一起追加/合并,然后再将其保存回磁盘。这是一个非常痛苦的因为我不知道如何合并这两个JSON?是否有可能,如果是的话?
JSON格式如下:
{
"data": {
"last_updated": 1342277036,
"stream": [
{
"action": {
}
},
"to": [
],
"from": [
],
"timestamp": 1342276421
},
{
"action": {
}
},
"to": [
],
"from": [
],
"timestamp": 1342276421
},
{
"action": {
}
},
"to": [
],
"from": [
],
"timestamp": 1342276421
},
如果这不是一个好方法。那么最好将NSObject保存到磁盘而不是原始JSON文件吗?
答案 0 :(得分:0)
您应该使用自己的ObjC对象建模数据,而不是合并JSON对象。
查看您的JSON数据,您的信息流似乎包含“操作”,来往/来自及时间。
因此,您应该创建一个表示该数据的类。
然后,当您下载JSON时,您应该解析它并根据收到的数据创建操作对象。
然后,您可以使用Core Data等框架来处理持久性。核心数据是一个对象模型图,可以由数据库支持,您可以使用核心数据来查询数据库。
这将允许您执行“从此时间戳获取所有操作对象”和“将所有这些新对象保存到数据库”之类的操作。