首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向json字符串(数组)添加元素

向json字符串(数组)添加元素
EN

Stack Overflow用户
提问于 2019-08-05 11:28:15
回答 1查看 2.1K关注 0票数 0

我有一个JSON字符串,其中有一个数组,我想在下面添加数据:

代码语言:javascript
复制
  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按钮时,元素将添加到数组的末尾,但一旦再次尝试添加元素,则添加元素,最后添加的元素将更改我创建的元素。

我想要添加多少元素,而不仅仅是一个元素。

解出

代码语言:javascript
复制
  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);
  },
EN

回答 1

Stack Overflow用户

发布于 2021-12-29 06:17:53

您可以将您的子任务列表视为一个列表,以便能够使用List.add()添加字符串。然后用jsonEncode()将列表编码为json。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57357669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档