如何在 Dart 控制台应用程序中读取 JSON 文件?

Gun*_*ack 10 json dart

这是一个 Dart 中的完整控制台应用程序。它不是颤动。我需要从本地 json 文件导入数据并将其作为响应发送。我需要在 dart 中将数据读取为 Map 数组。数据采用以下格式。

{    
"users":[
       {
          "id":1,
          "user":"user1",
          "password":"p455w0rd"
       },
       {
          "id":2,
          "user":"user2",
          "pass":"p455w0rd"
       }
  ] 
}
Run Code Online (Sandbox Code Playgroud)

我到处都看到 Flutter 示例,它将 flutter/services 作为 rootBundle 导入以读入 JSON 文件。我没有找到在纯 dart 中实现这一点的方法。

TYJ*_*TYJ 25

使用dart:iodart:convert.

下面是简单的例子。如果文件不存在或格式错误,请记住添加异常处理。

import 'dart:convert';
import 'dart:io';

Future<List<Map>> readJsonFile(String filePath) async {
  var input = await File(filePath).readAsString();
  var map = jsonDecode(input);
  return map['users'];
}
Run Code Online (Sandbox Code Playgroud)