Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
flatter-从JSON列表中获取数据_Json_Database_Flutter_Dart - Fatal编程技术网

flatter-从JSON列表中获取数据

flatter-从JSON列表中获取数据,json,database,flutter,dart,Json,Database,Flutter,Dart,我有一些无法解决的问题,请帮助我。我想从数据库中获取数据,这些数据是json列表。。。我写了一些代码,但无法在控制台上打印。。。我将在下面添加代码,请帮助我。。。我想我必须使用for循环,但当我尝试时,我只能获取1个数据 代码如下: class DenemeParca extends StatefulWidget { final String parcaReferans; DenemeParca({this.parcaReferans}); @override _Deneme

我有一些无法解决的问题,请帮助我。我想从数据库中获取数据,这些数据是json列表。。。我写了一些代码,但无法在控制台上打印。。。我将在下面添加代码,请帮助我。。。我想我必须使用for循环,但当我尝试时,我只能获取1个数据

代码如下:

class DenemeParca extends StatefulWidget {
  final String parcaReferans;

  DenemeParca({this.parcaReferans});

  @override
  _DenemeParcaState createState() => _DenemeParcaState();
}

Future<List<dynamic>> getIhaleData() async {
  final url =
      'https://www.ekspar.com.tr/onarim/dart.php';
  var response = await http.get(url);
  return json.decode(response.body);
}

String _parcaReferans(dynamic user) {
  for (var i = 8; i < 40; i++) {
    return user['parca_adi']['$i'];
  }
}

class _DenemeParcaState extends State<DenemeParca> {
  Widget _buildBody() {
    return FutureBuilder<List<dynamic>>(
      future: getIhaleData(),
      builder: (context, snapshot) {
        return ListView.builder(
          itemCount: snapshot.data.length,
          itemBuilder: (context, index) {
            return Container(
              child: Column(
                children: <Widget>[
                  RaisedButton(
                    onPressed: () async {
                      print(_parcaReferans(snapshot.data[index]));
                    },
                    child: Text('Get Data'),
                  ),
                ],
              ),
            );
          },
        );
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Title'),
      ),
      body: _buildBody(),
    );
  }
}

void main() {
  runApp(
    MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Ekspar Demo',
      theme: ThemeData(
        backgroundColor: Colors.white,
      ),
      home: DenemeParca() 
    ),
  );
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return DenemeParca();
  }
}
DenemeParca类扩展StatefulWidget{
最终字符串parcaReferans;
DenemeParca({this.parcaReferans});
@凌驾
_DenemeParcaState createState()=>\u DenemeParcaState();
}
未来的getIhaleData()异步{
最终url=
'https://www.ekspar.com.tr/onarim/dart.php';
var response=wait http.get(url);
返回json.decode(response.body);
}
字符串\u parcaReferans(动态用户){
对于(变量i=8;i<40;i++){
返回用户['parca_adi']['$i'];
}
}
类_DenemeParcaState扩展状态{
小部件_buildBody(){
回归未来建设者(
future:getIhaleData(),
生成器:(上下文,快照){
返回ListView.builder(
itemCount:snapshot.data.length,
itemBuilder:(上下文,索引){
返回容器(
子:列(
儿童:[
升起的按钮(
onPressed:()异步{
打印(_parcaReferans(snapshot.data[index]);
},
child:Text('Get Data'),
),
],
),
);
},
);
},
);
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“标题”),
),
正文:_buildBody(),
);
}
}
void main(){
runApp(
材料聚丙烯(
debugShowCheckedModeBanner:false,
标题:“Ekspar演示”,
主题:主题数据(
背景颜色:Colors.white,
),
住址:DenemeParca()
),
);
}
类MyHomePage扩展StatefulWidget{
@凌驾
_MyHomePageState createState()=>\u MyHomePageState();
}
类_MyHomePageState扩展状态{
@凌驾
小部件构建(构建上下文){
返回DenemeParca();
}
}

顺便说一句,link有json代码,谢谢你…

因为你的“parcaAdi”不是json数组,所以你不能循环所有的值,你必须逐个选择它们。为了获取所有数据,我首先使用以下命令为JSON创建了一个模型。现在,要获取数据,您只需执行以下操作

Future getIhaleData()异步{
最终url=
'https://www.ekspar.com.tr/onarim/dart-ilan-listele.php?parca_ilan_id=111';
var response=wait http.get(url);
Model Model=Model.fromJson(json.decode(response.body)[0]);
//现在您可以访问您的数据。
印刷品(型号:parcaAdi.s1);
印刷品(parcaAdi.s2型);
}
下面是模型类的代码

类模型{
帕卡迪·帕卡迪;
模型({this.parcaAdi});
Model.fromJson(映射json){
帕卡迪=
json['parca_adi']!=null?ParcaAdi.fromJson(json['parca_adi']):null;
}
映射到JSON(){
最终地图数据={};
如果(parcaAdi!=null){
data['parca_adi']=parcaAdi.toJson();
}
返回数据;
}
}
帕卡迪类{
字符串s1;
字符串s2;
字符串s3;
字符串s4;
字符串s5;
字符串s6;
字符串s7;
串s8;
帕卡迪(
{this.s1,this.s2,this.s3,this.s4,this.s5,this.s6,this.s7,this.s8});
ParcaAdi.fromJson(映射json){
s1=json['1'];
s2=json['2'];
s3=json['3'];
s4=json['4'];
s5=json['5'];
s6=json['6'];
s7=json['7'];
s8=json['8'];
}
映射到JSON(){
最终地图数据={};
数据['1']=s1;
数据['2']=s2;
数据['3']=s3;
数据['4']=s4;
数据['5']=s5;
数据['6']=s6;
数据['7']=s7;
数据['8']=s8;
返回数据;
}
}

API中的JSON一直在变化,你能修复吗?对不起,我的朋友,我正在尝试这么做://请在你完成后告诉我,这样我就可以回答你的问题了。它不起作用,我仍然有相同的错误。。。我的意思是我没有改变任何东西你代码中的链接不包含“parca_referans”。