首页 > 解决方案 > 如何在 Flutter 中将新数据保存到 JSON 文件?

问题描述

我有一个如下所示的 JSON 文件:

{
  "header": [
    "[[1, 26, 242, 151]]",
    "[[1, 26, 242, 152]]"
  ],
  "[[1, 26, 242, 151]]": {
    "key": "73E5-16AC-260C-3C8C"
  },
  "[[1, 26, 242, 152]]": {
    "key": "73E5-16AC-260C-3C8D"
  }
}

所以现在让我们假设我想向文件中添加第三个对象,如下所示:

  "[[1, 26, 242, 153]]": {
    "key": "73E5-16AC-260C-3C8E"
  }

如何将其写入我的 JSON 文件,同时保持正确的格式和所有内容,并将对象的名称添加到标题的数组中?

我想将from的key值更改为。"[[1, 26, 242, 151]]""73E5-16AC-260C-3C8C""84F6-27BD-361D-4D9D"

我该怎么做?

标签: jsonflutterdart

解决方案


不优雅,但类似于:

// here you parse the json object into a class
TwoObjectsJson twoObjs = TwoObjectsJson.fromJson(jsonFile);
// here you parse the class into another class
ThreeObjectsJson threeObjs = ThreeObjectsJson.fromTwoObjectJson(twoObjs, "[[1, 26, 242, 153]]", "73E5-16AC-260C-3C8E");
// here you get back your json string
final myJsonStr = threeObjs.toJson();

然后要更改第一个对象的键值,您可以访问它:

threeObjs.value.changeValue("84F6-27BD-361D-4D9D");

另一种方法是让您的 json 对象为其包含的对象提供一个列表,而不是让它们一个接一个。


推荐阅读