Flutter 颤振本地json服务

Flutter 颤振本地json服务,flutter,dart,Flutter,Dart,我正在开发一个问答游戏,我需要应用本地json搜索服务,我在应用变量方面有困难。我已经学习dart几个星期了,在屏幕上显示json结果的部分遇到了一个错误 我想要一些带有本地json的服务示例,或者一些用于继续开发的示例。首先,谢谢你 代码示例: import 'package:flutter/material.dart'; import 'package:flutter/services.dart' show rootBundle; import 'dart:async'; import 'd

我正在开发一个问答游戏,我需要应用本地json搜索服务,我在应用变量方面有困难。我已经学习dart几个星期了,在屏幕上显示json结果的部分遇到了一个错误

我想要一些带有本地json的服务示例,或者一些用于继续开发的示例。首先,谢谢你

代码示例:

import 'package:flutter/material.dart';
import 'package:flutter/services.dart' show rootBundle;
import 'dart:async';
import 'dart:convert';

class GameService extends StatefulWidget {
    @override
    _GameServiceState createState() => _GameServiceState();
}

class _GameServiceState extends State<GameService> {

    List perguntas;
    List<dynamic> perguntaCurrent;

    Future<List> fetchPerguntas() async {
        var response = await rootBundle.loadString('assets/api/data.json');
        var perguntas = json.decode(response);
        return perguntas;
    }

    void getPergunta() async {
        var perguntaCurrent = await fetchPerguntas();
        var current = perguntaCurrent[10];
        setState(() {
            perguntaCurrent = current;
        });
    }

    @override
    void initState() {
        super.initState();
        this.getPergunta();
    }

    @override
    Widget build(BuildContext context) {
        return Scaffold(

            body: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                crossAxisAlignment: CrossAxisAlignment.center,
                children: <Widget>[
                    Text(this.perguntaCurrent['pergunta']),
                    Text(this.perguntaCurrent['versiculo'])
                ],
            ),
        );
    }
}

最好是在尝试使用JSON之前将其解析为对象。Dart有一个JSON生成器,或者您可以使用这样的在线服务:

您最好在尝试使用JSON之前将其解析为一个对象。Dart有一个JSON生成器,或者您可以使用这样的在线服务:

问题来自以下几行:

Text(this.perguntaCurrent['pergunta']),
文本(此.perguntaCurrent['versiculo'])
或者更具体地说,这些位:

this.perguntaCurrent['pergunta']
这个.perguntaCurrent['versiculo']
您正试图使用字符串键访问
perguntaCurrent
。但是,您已经将
perguntaCurrent
声明为
List
,它只接受
int


(我不知道传入JSON的结构,也不知道您试图用perguntaCurrent做什么,我不知道您可以做什么。不过,希望这些信息足以让您找到自己的解决方案。)

问题来自以下几行:

Text(this.perguntaCurrent['pergunta']),
文本(此.perguntaCurrent['versiculo'])
或者更具体地说,这些位:

this.perguntaCurrent['pergunta']
这个.perguntaCurrent['versiculo']
您正试图使用字符串键访问
perguntaCurrent
。但是,您已经将
perguntaCurrent
声明为
List
,它只接受
int


(我不知道传入JSON的结构,也不知道你想用
perguntaCurrent
做什么,我不知道你能做什么。不过,希望这些信息足以让你找到自己的解决方案。)

更改
列出perguntaCurrent
映射过电流

更改
当前列表
映射过电流

错误是什么?代码的哪个部分抛出了错误?您好,在这部分文本(this.perguntaCurrent['pergunta'])中,编译器消息:lib/services/services.dart:44:32:错误:“String”类型的值不能分配给“int”类型的变量。Text(this.perguntaCurrent['pergunta']),听起来错误可能是专门来自
this.perguntaCurrent['pergunta']
。您确定
perguntaCurrent
是一个
Map
而不是
List
?这部分变量current=perguntaCurrent[10];带来一个json对象错误是什么,代码的哪个部分抛出了错误?嗨,在这部分文本中(this.perguntaCurrent['pergunta']),编译器消息:lib/services/services.dart:44:32:error:String类型的值不能分配给int类型的变量。Text(this.perguntaCurrent['pergunta']),听起来错误可能是专门来自
this.perguntaCurrent['pergunta']
。您确定
perguntaCurrent
是一个
Map
而不是
List
?这部分变量current=perguntaCurrent[10];带一个jsonobject@SHARKDEV我仍然不知道你想做什么,所以我不知道该推荐什么。我所能说的就是你试图把一个
列表
当作一个
地图
来对待,但这是行不通的。@SHARKDEV我仍然不确定你想做什么,所以我不知道该推荐什么。我所能说的是,你试图把一个
列表
当作一个
地图
来对待,这是行不通的。
[
    {
        "id":1,
        "pergunta":"O que Abel ofereceu a Deus?",
        "dificuldade":1,
        "respostas":[
            "Verduras",
            "Leite",
            "Frutas",
            "Uma ovelha"
        ],
        "certa":4,
        "referencia":"Gênesis 4:4",
        "versiculo":"Abel, por sua vez, trouxe as partes gordas das primei­ras crias do seu reba­nho. O Senhor aceitou com agrado Abel e sua oferta..."
    },
    {
        "id":2,
        "pergunta":"Quantas pessoas entraram na Arca de Noé?",
        "dificuldade":1,
        "respostas":[
            "9 pessoas",
            "7 pessoas",
            "6 pessoas",
            "8 pessoas"
        ],
        "certa":4,
        "referencia":"Gênesis 6:10 e 7:7",
        "versiculo":"E gerou Noé três filhos: Sem, Cão e Jafé. Noé entrou na arca, e com ele seus filhos, sua mulher e as mulheres de seus filhos, por causa das águas do dilúvio."
    },
]