📜  如何在“flutter”中删除 json 中的“ - Javascript (1)

📅  最后修改于: 2023-12-03 15:08:59.584000             🧑  作者: Mango

如何在 flutter 中删除 json 中的 - Javascript

在 flutter 中操作 json 数据是非常常见的需求,但有时需要删除某个 key 或 value,本文将介绍如何在 flutter 中删除 json 数据中的 - Javascript

1. 将 json 转成 Map 类型

flutter 中操作 json 数据首先要将 json 数据转成 Map 类型,可以使用 json.decode() 方法将 json 数据转成 Map 类型。

import 'dart:convert';

void main() {
  String jsonString = '{"name": "Tom", "age": 18, "language": {"name": "- Javascript", "level": "master"}}';
  Map<String, dynamic> jsonData = json.decode(jsonString);
  print(jsonData);
}

上面是将一个 json 字符串转成 Map 类型,并输出 Map 类型的数据,控制台输出如下:

{ "name": "Tom", "age": 18, "language": { "name": "- Javascript", "level": "master" } }
2. 删除 json 数据

删除 json 数据,其实就是删除 Map 类型中的某个 key 或 value。以删除 - Javascript 数据为例,可以使用 remove() 方法删除 key 或 value。

import 'dart:convert';

void main() {
  String jsonString = '{"name": "Tom", "age": 18, "language": {"name": "- Javascript", "level": "master"}}';
  Map<String, dynamic> jsonData = json.decode(jsonString);
  
  // 删除语言名称为 `- Javascript` 的数据
  jsonData['language'].remove('name');
  
  print(jsonData);
}

上面代码运行后,会删除 Map 类型中 name 键的值为 - Javascript 的数据,输出结果如下:

{ "name": "Tom", "age": 18, "language": { "level": "master" } }
3. 将 Map 类型转成 json

删除完成后,需要将 Map 类型转成 json 字符串形式,可以使用 json.encode() 方法将 Map 类型转成 json 字符串形式。

import 'dart:convert';

void main() {
  String jsonString = '{"name": "Tom", "age": 18, "language": {"name": "- Javascript", "level": "master"}}';
  Map<String, dynamic> jsonData = json.decode(jsonString);
  
  // 删除语言名称为 `- Javascript` 的数据
  jsonData['language'].remove('name');
  
  String newJsonString = json.encode(jsonData);
  print(newJsonString);
}

上面代码运行后,将 Map 类型转成 json 字符串形式,并输出转换后的 json 字符串,输出结果如下:

{ "name": "Tom", "age": 18, "language": { "level": "master" } }

至此,已经成功将 json 数据中的 - Javascript 删除了。

以上就是如何在 flutter 中删除 json 数据中的 - Javascript 的介绍,希望能对阅读本文的读者有所帮助。