【发布时间】:2018-12-23 22:07:41
【问题描述】:
这是我的 key:value 配对的本地 json。我需要加载,稍后我需要用于查询。 那么,如何在 Flutter Mobile App 中加载和查询本地 json 数据呢?
{
"currency.01": "United State USD",
"currency.17": "British Pound GBP",
"currency.33": "Euro EUR",
}
【问题讨论】:
这是我的 key:value 配对的本地 json。我需要加载,稍后我需要用于查询。 那么,如何在 Flutter Mobile App 中加载和查询本地 json 数据呢?
{
"currency.01": "United State USD",
"currency.17": "British Pound GBP",
"currency.33": "Euro EUR",
}
【问题讨论】:
将您的 JSON 文件添加到 pubspec.yaml
assets:
- assets/config.json
然后你可以使用rootBundle来加载它
import 'dart:async' show Future;
import 'package:flutter/services.dart' show rootBundle;
Future<String> loadAsset() async {
return await rootBundle.loadString('assets/config.json');
}
也看看这个full example 并用于查询将您的 JSON 数据转换为 LIST,然后您有很多搜索方法,例如 where 方法
【讨论】:
rootBundle 通常只是答案的一部分。我也会做 jsonDecode 来返回一个实际的 json 格式。
import 'dart:convert';
import 'package:flutter/services.dart';
Future<String> loadAsset() async {
return jsonDecode(await rootBundle.loadString('assets/config.json'));
}
然后在您的主服务器上,您现在可以将其加载到 List<dynamic> 以获取列表格式的 json 对象。
List<dynamic> response;
response = loadAsset();
然后您现在可以从这里访问您的值,
print(response['currency.01']);
输出:美国美元
【讨论】: