flutter_pretty_json 0.1.0 copy "flutter_pretty_json: ^0.1.0" to clipboard
flutter_pretty_json: ^0.1.0 copied to clipboard

A Flutter widget for rendering JSON as an expandable tree with syntax highlighting.

example/lib/main.dart

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

void main() {
  runApp(const JsonViewerApp());
}

class JsonViewerApp extends StatelessWidget {
  const JsonViewerApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Pretty JSON Demo',
      theme: ThemeData.dark(),
      home: const JsonViewerExample(),
    );
  }
}

class JsonViewerExample extends StatefulWidget {
  const JsonViewerExample({super.key});

  static const String _assetPath = 'assets/json_tree_test_data.json';

  @override
  State<JsonViewerExample> createState() => _JsonViewerExampleState();
}

class _JsonViewerExampleState extends State<JsonViewerExample> {
  late final Future<String> _future;

  @override
  void initState() {
    super.initState();
    _future = rootBundle.loadString(JsonViewerExample._assetPath);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Pretty JSON Example')),
      body: FutureBuilder<String>(
        future: _future,
        builder: (context, snapshot) {
          if (snapshot.connectionState != ConnectionState.done) {
            return const Center(child: CircularProgressIndicator());
          }
          if (snapshot.hasError) {
            return Center(
              child: Padding(
                padding: const EdgeInsets.all(16),
                child: Text('Failed to load JSON: ${snapshot.error}'),
              ),
            );
          }

          return PrettyJson(encodedJson: snapshot.data ?? '{}', expandDepth: 1);
        },
      ),
    );
  }
}
1
likes
150
points
98
downloads

Documentation

API reference

Publisher

verified publishershashikantdurge.dev

Weekly Downloads

A Flutter widget for rendering JSON as an expandable tree with syntax highlighting.

Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

Dependencies

flutter, two_dimensional_scrollables

More

Packages that depend on flutter_pretty_json