gpt4 book ai didi

json - 如何在 flutter 中解析 PurpleAir JSON?

转载 作者:IT王子 更新时间:2023-10-29 07:22:54 26 4
gpt4 key购买 nike

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

使用 this documentation .

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

这是我的代码,它以字符串形式返回解析后的 JSON 数据,我只能得到 map 版本,有人能告诉我如何修改这段代码以获取其他数据吗?(基本上,我要输入什么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";
}
}

最佳答案

我重构代码以提高可读性,它对我有用,使用 print 我得到:

Map Version: 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';
}

关于json - 如何在 flutter 中解析 PurpleAir JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54719450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com