如何在Flutter Mobile App中加载和查询本地json数据

时间:2018-07-16 11:12:59

标签: json load flutter

这是我的 key:value 配对本地json。我需要加载,以后再用于查询。 那么,如何在Flutter Mobile App中加载和查询本地json数据?

{
  "currency.01": "United State USD",
  "currency.17": "British Pound GBP",
  "currency.33": "Euro EUR",
}

2 个答案:

答案 0 :(得分:11)

将您的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方法

答案 1 :(得分:1)

rootBundle通常只是答案的一部分。我也会做jsonDecode来返回实际的json格式。

import 'dart:convert';
import 'package:flutter/services.dart';

Future<String> loadAsset() async {
  return jsonDecode(await rootBundle.loadString('assets/config.json'));
}

然后在您的主机上,现在可以将其加载到列表格式的json对象的List<dynamic>中。

List<dynamic> response;
response = loadAsset();

然后,您现在可以从此处访问您的值,

print(response['currency.01']);

输出:美国美元