Skip to content

extract values from Map/List using dot-seprated strings you don't have to cast multiple times to fetch a simple values, this is very useful while working with i.e json data

License

Notifications You must be signed in to change notification settings

alash3al/dart-path-selector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simply extract required values from specific paths in a Map or a List, for now it works for strings keys

Usage

import 'dart:convert';

import 'package:path_selector/path_selector.dart';

void main() {
  final Map<String, dynamic> map = jsonDecode('''
    {
      "name": "Mohamed Al Ashaal",
      "age": 28,
      "contacts": {
        "email": "m7medalash3al@gmail.com",
        "facebook": "https://fb.me/alash3al",
        "github": "https://github.com/alash3al"
      },
      "some.dot-key.included": "Works!",
      "skills": [
        {
          "name": "PHP",
          "rating": 0.9
        },
        {
          "name": "Golang",
          "rating": 0.9
        },
        {
          "name": "Python",
          "rating": 0.9
        }
      ]
    }
    ''');

  // will print: Mohamed Al Ashaal
  print(map.select("name"));

  // will print: 20
  print(map.select("age"));

  // will print: m7medalash3al@gmail.com
  print(map.select("contacts.email"));

  // will print: [{name: PHP, rating: 0.9}, {name: Golang, rating: 0.9}, {name: Python, rating: 0.9}]
  print(map.select("skills"));

  // will print {name: PHP, rating: 0.9}
  print(map.select("skills.#0"));

  // will print: PHP
  print(map.select("skills.#0.name"));

  // will print: null
  print(map.select("skills2.unknown_key.value"));

  // will print: Works!
  print(map.select("some\\.dot-key\\.included"));
}

About

extract values from Map/List using dot-seprated strings you don't have to cast multiple times to fetch a simple values, this is very useful while working with i.e json data

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages