从 Firebase 获取原始 JSON 到 Flutter
Posted
技术标签:
【中文标题】从 Firebase 获取原始 JSON 到 Flutter【英文标题】:Get raw JSON from Firebase to Flutter 【发布时间】:2021-01-19 18:25:15 【问题描述】:我正在尝试从 firebase 数据库中获取原始 JSON,如下所示:
List mydata;
Future<String> getData() async
var response = await http.get(
Uri.encodeFull("https://opouygttgc.firebaseio.com/thing.json"),
headers:
"Accept": "application.json"
);
mydata = json.decode(response.body.toString());
print(mydata);
我收到了这个输出:
[[Derecho Penal, Cuando un hecho delictivo se le puede atribuir o reprochar a su autor, decimos que éste es:, Si el culpable da comienzo a la ejecución del hecho delictivo practicando parte de los actos que objetivamente deberían producir el resultado , y sin embargo, est no se producer por causas, independientes de la voluntad del autor, nos encontramos:, La negativa a cumplir una orden se castigará:, Comete delito de infidelidad en la custodia de documentos públicos
我需要这个输出:
[0: Derecho Penal, 1: Cuando un hecho delictivo se le puede atribuir o reprochar a su autor, decimos que éste es:, 2: Si el culpable da comienzo a la ejecución del hecho delictivo practicando parte de los actos que objetivamente deberían producir el resultado, y sin embargo, éste no se produce por causas, independientes de la voluntad del autor, nos encontramos:, 3: La negativa a cumplir una orden se castigará:, 4: Comete delito de infidelidad en la custodia公用文件
在使用 firebase 之前,我从磁盘加载 json 没有问题,现在使用数据库响应获得相同的输出格式让我很困惑。
【问题讨论】:
请编辑问题以显示您在此处查询的数据库中的数据结构,而不仅仅是查询结果。 【参考方案1】:当您通过 REST API 读取/写入类似数组的 JSON 结构时,Firebase 实时数据库会自动将它们转换为实际数组。没有办法改变这种行为。
如果您不希望 Firebase 将数据转换为数组,请确保数据看起来不像数组。例如,我通常为每个键添加一个简短的字母数字前缀:
[
"key_0": "Derecho Penal",
"key_1": "Cuando un hecho delictivo se le puede atribuir o reprochar a su autor, decimos que éste es:",
,
...
【讨论】:
以上是关于从 Firebase 获取原始 JSON 到 Flutter的主要内容,如果未能解决你的问题,请参考以下文章
Firebase Documentsnapshot 映射到 Flutter 中的 Json 对象
从android中的firebase函数接收json数据给出空值