GithubHelp home page GithubHelp logo

flutter-json-from-file's Introduction

Flutter JSON from file

This example loads a sample dataset from a file and displays a random entry in the UI

Loading data from a static json file

Register the file in the assets section of pubspec.yaml

assets:
  - assets/data/quotes.json

Import Services and convert

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

Load data into a variable

class _MyHomePageState extends State<MyHomePage> {
  List _quotes = [];
  

  @override
  void initState() {
    readJson();
    
    super.initState();
  }
...

  void readJson() async {
    final String response =
        await rootBundle.loadString('assets/data/quotes.json');
    final data = await json.decode(response);

    setState(() {
      _quotes = data;
    });
  }

Display a random quote

class Quote {
  String quote = "";
  String author = "";
}
class _MyHomePageState extends State<MyHomePage> {
  List _quotes = [];
  Quote qod = Quote();

  @override
  void initState() {
    readJson();
  
    super.initState();
  }
...
  


  void _getRandomQuote() {
    if (_quotes.length > 0) {
      int index = Random().nextInt(_quotes.length);
      Quote q = Quote()
        ..author = _quotes[index]["author"]
        ..quote = _quotes[index]["quote"];

      setState(() {
        qod = q;
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    _getRandomQuote();

...

  Text(qod.quote),

Pull a new quote

  ...

     floatingActionButton: FloatingActionButton(
        onPressed: _getRandomQuote,
        tooltip: 'Refresh',
        child: const Icon(Icons.refresh),
      ),

  ...

flutter-json-from-file's People

Contributors

cgrant avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.