`QgsJsonUtils` class has `exportAttributes` method for getting attributes as `dict`. **Solution 1**: Making a dictionary including feature `id` as key, attributes map as value like: ``` {feature1.id: {attr1: value, attr2: value, ...}, feature2.id: {attr1: value, attr2: value, ...}, ...} ``` ``` layer = QgsProject.instance().mapLayersByName('LAYER_NAME')[0] features_dict = {f.id(): QgsJsonUtils.exportAttributes(f) for f in layer.getFeatures()} ``` **Solution 2**: Making a list including attributes map (`dict`) of features without `id`s like: ``` [{attr1: value, attr2: value, ...}, # feature 1 {attr1: value, attr2: value, ...}, # feature 2 ...] ``` ``` layer = QgsProject.instance().mapLayersByName('LAYER_NAME')[0] features_list = [QgsJsonUtils.exportAttributes(f) for f in layer.getFeatures()] ```