我有一个JSON字符串,其中有一个数组,我想在下面添加数据:
String myJSON = '{"listOfSubtasks":["dasd","dadd","dadsd"]}';
arrayToStringAndBack(addElement) async {
var json = jsonDecode(myJSON);
var getArray = json['listOfSubtasks']; //returns [dasd,dadd,dadsd]
setState(() {
getArray.add(addElement);
});
// as I want to push it to a db I convert [dasd,dadd,dadsd] to a String ["dasd","dadd","dadsd"]
String arrayToString = jsonEncode(getArray);
print(arrayToString);
}
...
textfieldform
- onSaved: (val) {
subtasks = val;
arrayToStringAndBack(val);
},
...
当我键入smth并单击submit按钮时,元素将添加到数组的末尾,但一旦再次尝试添加元素,则添加元素,最后添加的元素将更改我创建的元素。
我想要添加多少元素,而不仅仅是一个元素。
解出
var arrayOfSubTasks = [];
arrayToStringAndBack(addElement, arr) async {
var json = jsonDecode(myJSON);
var getArray = json['listOfSubtasks'];
setState(() {
getArray.add(arr);
});
String arrayToString = jsonEncode(getArray);
print(arrayToString);
}
...
onSaved: (val) {
subtasks = val;
setState(() {
arrayOfSubTasks.add(val);
});
arrayToStringAndBack(val, arrayOfSubTasks);
},发布于 2021-12-29 06:17:53
您可以将您的子任务列表视为一个列表,以便能够使用List.add()添加字符串。然后用jsonEncode()将列表编码为json。
https://stackoverflow.com/questions/57357669
复制相似问题