json - 如何在 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"
我该怎么做?
解决方案
不优雅,但类似于:
// 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 对象为其包含的对象提供一个列表,而不是让它们一个接一个。
推荐阅读
- python - 如何整合样本(1D np 阵列),例如加速到速度
- firebase - 使用 createUserWithEmailAndPassword 后获取未定义的 ID
- html - 为什么具有相同 css 值的 2 个输入值在边缘上的行为不同?
- firebase - 我的 android 应用程序使用 Nativescript 显示 [object Promise]
- sql - 如果机器抛出事件日志 5002 并且后面没有事件 5004 我想知道该计算机名称
- testing - 如何在 Jenkins 中触发 Nightwatch 测试?
- javascript - 如何动态强制渲染表
- uwp - 微软提供的 UWP 应用示例未在 VS2017 上编译
- python - Pandas - 使用对象 DType 过滤 Col 用于几个条件
- python - Python 在 VM 来宾 Linux / Ubuntu 上无法正常工作