Мне нужно подключить свой проект к JSON API
, я следовал за многими документами с веб-сайта флаттера и проблемами переполнения стека, но у меня было много проблем, я написал несколько кодов для соединения с JSON
, но когда я работаю с Android SDK, яполучил эту ошибку:
Но после добавления этой строки в AndroidMainifest.xml
:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<uses-permission android:name="android.permission.INTERNET" />
Я получил ту же ошибку выше! Я уверен, что я соединяюсь с WiFi!
Когда я работаю с iOS SDK, я получаю эту ошибку:
Код:
import 'dart:convert';
import 'dart:async';
import 'package:http/http.dart' as http;
import 'package:flutter/foundation.dart';
List<Category> _catgList =new List<Category>();
Future<List<Category> > fetchCategory() async {
final response = await http.get('url of json'); // Here first error
if (response.statusCode == 200) {
List<dynamic> values = new List<dynamic>();
values = json.decode(response.body); // Here second error
if(values.length>0){
for(int i=0;i<values.length;i++){
if(values[i]!=null){
Map<String,dynamic> map=values[i];
_catgList.add(Category.fromJson(map));
debugPrint('Id-------${map['id']}');
debugPrint('Id-------${map['title']}');
}
}
}
return _catgList;
} else {
throw Exception('Failed to load post');
}
}
class Category {
final int id;
String title;
Category({this.id, this.title});
factory Category.fromJson(Map<String, dynamic> json) {
return Category(
id: json['id'],
title: json['title'].toString(),
);
}
}
JSON:
{
"status" : "ok",
"count" : 14,
"categories" : [
{
"id" : 2,
"title" : "world"
},
{
"id" : 13,
"title" : "games"
},
{
"id" : 54,
"title" : "woman"
},
{
"id" : 50,
"title" : "health"
},
{
"id" : 48,
"title" : "kitchen"
},
{
"id" : 4292,
"title" : "applications"
},
{
"post_count" : 51,
"id" : 51,
"title" : "culture"
},
{
"id" : 49,
"title" : "sport"
},
{
"id" : 8,
"title" : "travel"
},
{
"id" : 53,
"title" : "policy"
},
{
"id" : 52,
"title" : "cars"
},
{
"id" : 20,
"title" : "tech"
},
{
"id" : 4293,
"title" : "gharaeb"
},
{
"id" : 18,
"title" : "business"
}
]
}
Что не так в моем коде ??