如何在颤动中操纵地图



我有一个JSON静态文件中的以下Map。我想更改此Map的部分内容,然后重写为File。

以下是Map.toString((的示例

{section: {group1: {name: bob, pets: ['dog', 'cat', 'hamster']}}}

我想在现有的部分中添加另一个组,但我似乎被卡住了,我正在使用以下内容来读取JSON文件并创建Map。

Map<String, dynamic> existingContent = json.decode(file.readAsStringSync());

然而,我能做的最好的事情就是列出existingContent.keys,它向我显示了已经存在的"group1",但我似乎无法添加新的组。组名将是下一个可用的号码,例如group2。

有什么想法吗?

添加内容的方法只是将其直接放入映射中。(这意味着你不会像在列表中那样使用add((之类的东西。这里有一个简单的例子:

main(){
Map<String,String> mapped = {'xyz': '1', 'ABC': '1'};
mapped['another'] = 'beer';  // <-- this is where the new key:value is added.
print(mapped); // this would give "xyz": "1", "ABC": "1", "another":"value"
}

因此,对于您的特定示例,您可以再添加一层并按如下方式进行:

existingContent['section']['group2'] = {'name': 'fred', 'pets': ['dog', 'bird']}};
String lastKey = existingContent['section'].keys.last;
int index = int.parse(lastKey.substring(lastKey.length-1));
String nextKey = lastKey.substring(0,lastKey.length-1) + (index+1).toString();

最新更新