【发布时间】:2018-05-01 05:35:52
【问题描述】:
我有一个 JSON 文件,本地保存在我的项目中。现在我很好奇将它保存在 Firebase 中。我知道 Firebase 以 NoSQL 格式(作为 JSON)保存数据。我看过几个关于向 Firebase 添加文件的教程(经过一些操作,比如在示例 iOS 应用程序中点击一个按钮)。但是是否有可能在firebase中保存整个JSON文件本身(不仅仅是它的块),最初(不是在点击某个按钮之后),然后加载该文件,因为在我的项目中用户不能自己添加文件?应用程序应从 JSON 文件加载数据。 我是 Firebase 的新手,所以我几乎没有使用它的经验。如果您有任何建议或知道如何执行此操作,我们将不胜感激。
已编辑 好吧,澄清我在问什么。我有一个项目,其中包含一个文本文件,其中包含一个 JSON 数据。最初,我将它添加到我的项目中,因为我没有使用 Firebase、AWS 等的经验。我只需要看看应用程序如何对数据做出反应。将来数据会显着增长,所以显然我不会将它保存在项目中。 问题是,我只想将 JSON 数据保存在 Firebase 中。而且我不知道这样做的正确方法:只需导入 JSON 或从头开始编写它(以编程方式或在控制台中)。另外,我想知道这是否是一个好主意,因为这是我第一次使用在线数据库,很多人说 Firebase 是最好的数据库。我对所有这些东西都很陌生,这就是我问这些问题的原因。
EDITED_2
{
"list": {
"restaurants": [{
"id": "231311234342bn123",
"name": "Grand Royal",
"suggested": true,
"address": {
"longitude": "30.31527",
"latitude": "59.93688",
"formatted": ["Nevskiy prospekt 10, Saint Petersburg",
"Russian Federation"
]
},
"tags": ["fish",
"Italian",
"Friends"
],
"category": "$$$$",
"description": "Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.",
"shortDescription": "an",
"collectionName": "Relaxing with friends",
"distance": "1324",
"country": "Russian Federation",
"Region": "North-West region",
"city": "Saint Petersburg"
},
{
"id": "123234344t5213",
"name": "N",
"image": "A",
"suggested": true,
"address": {
"longitude": "30.31821",
"latitude": "59.93605",
"formatted": ["Nevskiy prospekt 15, Saint Petersburg",
"Russian Federation"
]
},
"tags": ["fish",
"french",
"family"
],
"category": "$$$$",
"description": "Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda. ",
"shortDescription": "ab",
"collectionName": "Evening with a family",
"distance": "556",
"country": "Russian Federation",
"Region": "North-West region",
"city": "Saint Petersburg"
}]}}
这是我的初始 JSON 数据的 sn-p(它没有完成,例如,此时只有一个图像字符串)。数据在整个应用程序中使用(在表格视图、单独的视图等中)。例如,我用它来填充表格视图,在mapView 和其他UIViewController 子类中使用它。另外,我需要过滤和搜索它的能力。目前,我通过解码整个 JSON 并将其添加到数组中来做到这一点,然后过滤该数组。但我想,当您拥有大量图像数据时,这不是最佳选择。
还有一件事,在Core Data 中可以设置批处理请求,因此它最初只会获取一些数据量。它适用于表格视图,因为当您滚动它们时,Core Data 会自动获取新数据以填充单元格。是否可以使用 firebase 做类似的事情,或者我应该一次读取所有数据?
我还了解到 Firebase 不需要保存类似数组的数据,但有几种方法可以解决该问题。这对我很重要,因为我确实需要将部分数据放在数组中。
【问题讨论】:
-
这里没有足够的信息来真正提供答案;不清楚您的项目中保存了一个 JSON 文件 是什么意思。 JSON 是一种数据结构而不是文件类型。您的意思是它是一个包含 JSON 数据的文本文件,并且您想将该文件存储在 Firebase 中吗?如果是这样,Storage 或 Cloud Firestore 将是更好的选择。如果您想在 Firebase 中存储 JSON 数据,这很容易。用例也不清楚;当您可以从数据库中加载数据时,为什么还要从文件中加载数据。如果您能澄清您的问题,我们会尽力提供答案。
-
@Jay,我已经编辑了我的问题。
-
非常好。您能否提供您想要使用的 JSON 数据的 sn-p 并描述您想要使用该数据做什么。您如何构建 Firebase 很大程度上取决于您要如何处理这些数据。将其作为 TEXT 包含在您的问题中,我们将进行查看。
-
@Jay,完成。我添加了一个 sn-p 并尝试描述我需要对数据做什么。