在移动混合应用中存储JSON数据的最佳方式是什么?

问题描述:

市场上很少有选择在移动应用程序中存储一些JSON数据(indexedDB,webSQL等)。在移动混合应用中存储JSON数据的最佳方式是什么?

我正在寻找最佳的解决方案(不推荐使用并且由常用浏览器诚实地支持)来存储我的JSON数据,并在为演示文稿/演示/产品组合创建的移动应用程序中使用它目的。

我的静态JSON文件结构如下所示:

{ 
    "products": [ 
     .. several records 
    ], 
    "users": [ 
     ... several records 
    ], 
    "factData": [ 
     ... few thousand records 
    ] 
} 

的问题是,我应该使用哪种技术/方法来简单地存储上述JSON数据,并且不担心支持?

+3

'localStorage',具有很好的支持。并且很容易使用。 – Keith

+0

你认为localForage怎么样? https://localforage.github.io/localForage/ – ELing

本地存储提供简单的同步键/值对存储,但对大量数据表现不佳,可能会锁定UI。

WebSQL是depracated,但你仍然可以使用它。您只能存储大约5MB的数据。

IOS不支持IndexedDB。

我现在很可能会用WebSQL,但我会考虑将数据存储在JSON中的其他方式。也许创建一个数据库和API,使授权的REST调用它

对于你的问题,你有许多杂合体的应用程序使用JSON数据发挥:

Xamarin,的PhoneGap,英特尔XDK,离子框架,框架7,Appcelerator的Titanium,Mobile Angular UI,Onsen UI,Sencha Touch,Ken​​do UI,所有混合框架都使用JavaScript,并将越来越多的敏感逻辑放在客户端,因此还需要关注客户端安全性。

所以我没有尝试所有这些,但是是校长应用程序混合的实际列表,所以现在JavaScript学习是10年前没有选项:)。

+0

是的,我知道我们在市场上有很多混合移动框架,我使用它们很少,但它并没有改变这个事实,如果你想要存储一些数据,你必须独立思考,因为上述框架都没有强制存储数据的自己的解决方案。 xD – ELing

+0

我使用离子,因为入门很简单,背后有一个很好的社区,可以与角度关联,得到了一个强大的用户体验SDK来加速开发。存储数据不是框架的工作,可以操纵它。对于商店的json数据,你必须在NOSQL上从大到小的解决方案:(cassandra对我来说是最好的,hive,hadoop,mongodb我也喜欢这个小项目...)。问候 – 2017-09-14 11:57:14

您可能应该查看pouchdb,这不仅可以促进客户端上的json存储,还可以脱机同步到couchdb服务器。

你可以看一下这个常见问题native support

在问候支持你还会发现一些细节有faq page

+0

PouchDB似乎是有趣的NoSQL存储数据的方式。问题是,我需要实现任何后端env。让它为简单的用法工作? 对我来说,初始存储我的json文件中的数据就足够了,并有可能在任何应用程序视图/组件中请求它们。 – ELing

+1

你不需要用pouchdb实现任何后端env, 对于你的场景,你可以通过http将数据传递给客户端,然后用pouchdb存储它我也建议你看看这篇文章, (https://www.sitepoint.com/building-offline-first-app-pouchdb/) – Sichangi

+0

@Eling您也可以将数据存储为localStorage情况下的JSON字符串,并在需要时解析它,虽然这可能相当如果您只需要部分数据,则效率低下 – Sichangi