Я ошибся насчет SharedPreferences
в своем комментарии. Оказывается, SharedPreferences
не поддерживает Map<dynamic, dynamic>
, а только до List<String>
.
Таким образом, вы можете использовать пакет управления базой данных sembast
, созданный тем же парнем, который сделано SQFLite
.
Вы можете получить помощь с этой ссылкой для преобразования JSON объектов в Map
и наоборот.
EDIT -
Вы можете сделать что-то вроде -
import 'package:sembast/sembast.dart';
Map<dynamic, dynamic> sampleMap;
// Skipping this part
sampleMap = // Retrive and convert JSON to Map
// A sample DB in the current directory
String dbPath = 'sample.db';
DatabaseFactory dbFactory = databaseFactoryIo;
// We use the database factory to open the database
Database db = await dbFactory.openDatabase(dbPath);
var store = intMapStoreFactory.store();
// Storing Map to DB
var key = await store.add(db, sampleMap);
// Retrieving values back
var record = await store.record(key).getSnapshot(db);
// From your provided sample JSON in question
var value = record["result"]["allitems"]["list_items"][0]["options"]["image_url"];
print(value);
// value = 'assets/images/orders/jersey.jpg'
Точно так же вы можете изучить документацию пакета для дополнительных операций с данными.