【问题标题】:How do I parse PurpleAir JSON in flutter?如何在颤动中解析 PurpleAir JSON?
【发布时间】:2019-02-16 02:56:00
【问题描述】:

所以我正在尝试从 here 解析 PurpleAir JSON。

使用this documentation

我无法访问我真正想要的数据,例如实时 2.5 AQI 读数。

这是我的代码,它以字符串形式返回解析的 JSON 数据,我能得到的只是地图版本,有人能告诉我如何修改这段代码来获取其他数据吗?(基本上,我应该输入什么jsonResponse 括号以获取标记为 /v./) 的元素

Future<String> sensorTest() async{
  var url = "https://www.purpleair.com/json?show=15130";
  var response =  await http.get(url);//Parses it
   if (response.statusCode == 200){
      var jsonResponse = convert.jsonDecode(response.body);
      var aqi = jsonResponse['mapVersion']; 
      String output = "Map Version: "+aqi;
      return output;
   }
   else{
     return "Something is wrong";
   }    
}

【问题讨论】:

    标签: json dart flutter


    【解决方案1】:

    我重构代码以使其更具可读性,它对我有用,我得到了print

    地图版本:0.72

    import 'dart:convert';
    import 'package:http/http.dart' as http;
    
    Future<String> sensorTest() async {
        const String url = 'https://www.purpleair.com/json?show=15130';
        final http.Response response = await http.get(url);
        if (response.statusCode == 200) {
          final dynamic jsonResponse = jsonDecode(response.body);
          final dynamic aqi = jsonResponse['mapVersion'];
          final String output = 'Map Version: $aqi';
          print(output);
          return output;
        } else
          return 'Something is wrong';
      }
    

    为了得到v,你可以这样做:

    import 'dart:convert';
    import 'package:http/http.dart' as http;
    
    Future<String> sensorTest() async {
        const String url = 'https://www.purpleair.com/json?show=15130';
        final http.Response response = await http.get(url);
        if (response.statusCode == 200) {
          final dynamic jsonResponse = jsonDecode(response.body);
          final dynamic aqi = jsonResponse['results'][0]['Stats']['v'];
          final String v = 'V: $aqi';
          print(v);
          return v;
        } else
          return 'Something is wrong';
      }
    

    【讨论】:

    • 这不是我的问题,我能得到地图版本就好了,我需要得到2.5的aqi读数直播
    猜你喜欢
    • 2019-08-31
    • 2020-10-28
    • 1970-01-01
    • 2021-08-23
    • 2020-03-01
    • 2020-08-30
    • 2019-11-08
    • 2020-01-25
    • 2020-08-27
    相关资源
    最近更新 更多