gpt4 book ai didi

php - 在 Flutter 中获取 pHp 数组或 map 作为 JSON 数据?

转载 作者:行者123 更新时间:2023-12-03 02:52:27 25 4
gpt4 key购买 nike

我正在尝试在我的 flutter 应用程序中使用 json 从服务器获取一些数据。这是我正在使用的功能。

List<String> userFriendList = ["No Friends"];  

Future<http.Response> _fetchSampleData() {
return http.get('//link/to/server/fetcher/test_fetcher.php');
}

Future<void> getDataFromServer() async {
final response = await _fetchSampleData();

if (response.statusCode == 200) {
Map<String, dynamic> data = json.decode(response.body);
userLvl = data["lvl"].toString();
userName = data["name"];
userFriendList = List();
userFriendList = data["friendlist"];
} else {
// If the server did not return a 200 OK response,
// then throw an exception.
print('Failed to load data from server');
}
}

我收到了 usrLvluserName对。但是对于 userFriendList ,我收到以下错误:
[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: type 'List<dynamic>' is not a subtype of type 'List<String>'
服务器端代码( test_fetcher.php ):
<?php
$myObj->name = "JohnDoe";
$myObj->lvl = 24;

$friends = array("KumarVishant", "DadaMuni", "BabuBhatt", "BesuraGayak", "BabluKaneria", "MorrisAbhishek", "GoodLuckBaba", "ViratKohli", "LeanderPaes");

$myObj->friendlist = $friends;

header('Content-Type: application/json');
$myJSON = json_encode($myObj);
echo $myJSON;
?>

最佳答案

这是一个转换错误:List<dynamic> != List<String>
您可以通过多种方式转换/转换您的列表。

我建议你使用这个库来简化你的 json/Dart 对象转换
:https://pub.dev/packages/json_serializable

json_serializable 将生成转换方法(fromJson 和 toJson)并处理一切。

这比手动操作更容易、更安全。

关于php - 在 Flutter 中获取 pHp 数组或 map 作为 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62191188/

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